๋ฉ‹์‚ฌ Backend Plus 18์ผ์ฐจ ๐Ÿฆ

์‹ ์žฌ์›ยท2023๋…„ 11์›” 18์ผ

์˜ค๋Š˜์€ Spring Security๊ณผ JWT์˜ Access Token, Refresh Token ์— ๋Œ€ํ•ด์„œ ๋ฐฐ์› ์œผ๋ฉฐ, ๋ฐฐ์šฐ๊ณ  ๋А๋‚€์ ์„ ์ •๋ฆฌ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Spring Security

  • Spring Security ๋ง ๊ทธ๋Œ€๋กœ ๋ณด์•ˆ๊ณผ ๊ด€๋ จํ•œ ์ฃผ์ œ์ด๋‹ค. ๋ณด์•ˆ์˜ ์ฃผ์ œ์—์„œ๋Š” ์ธ์ฆ๊ณผ ์ธ๊ฐ€์— ๋Œ€ํ•ด์„œ ๋นผ๋†“๊ณ  ์–˜๊ธฐํ• ์ˆ˜๊ฐ€ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ์ธ์ฆ๊ณผ ์ธ๊ฐ€์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•œ ์ •์˜๋ฅผ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ธ์ฆ : ์ธ์ฆ์ด๋ž€ ์œ ์ € ํ˜น์€ ์‚ฌ์šฉ์ž์˜ ์‹ ์›์„ ์ž…์ฆํ•˜๋Š” ๊ณผ์ • ์ด๋‹ค.

์ธ๊ฐ€ : ์ธ๊ฐ€๋ž€ ์ธ์ฆ์„ ๋ฐ›์€ ์œ ์ € ํ˜น์€ ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋”” ๊นŒ์ง€์˜ ๋ฒ”์œ„๊นŒ์ง€ ํ—ˆ์šฉํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ์˜๋ฏธ ์ด๋‹ค.

( EX : ๊ฑด๋ฌผ์˜ 1์ธต๋งŒ์„ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ (์‚ฌ์›์ฆ)์„ ๋ฐ›์€ ์‚ฌ์šฉ์ž๋Š” ๊ฑด๋ฌผ์˜ 2์ธต 3์ธต์„ ์‚ฌ์šฉํ• ์ˆ˜ ์—†๋‹ค.)


์ด๋Ÿฌํ•œ ์˜ˆ์‹œ๋ฅผ ๊ฐ„๋‹จํ•œ ๊ฒŒ์‹œํŒ ์›น (Web) ์œผ๋กœ ์ ์šฉ์„ ํ•ด๋ณด์ž๋ฉด, ์ธ์ฆ์€ ๋กœ๊ทธ์ธ์„ ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

๋กœ๊ทธ์ธ์„ ํ•œ ์œ ์ €๋Š” ๊ฒŒ์‹œํŒ์— ๊ธ€์„ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ๊ธ€์„ ์ฝ์„์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ ์ฆ‰ ์ธ๊ฐ€๋ฅผ ํš๋“ ํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ž‘์„ฑํ•œ ๊ธ€์„ ์ˆ˜์ • ํ• ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.
(์ˆ˜์ •ํ• ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์€ ์—†๊ธฐ ๋•Œ๋ฌธ)

JWT

JWT๋ฅผ ์ƒ์„ฑํ•ด์„œ Access Token์„ ๋งŒ๋“ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

  • Access Token์€ ๋งŒ๋ฃŒ ๊ธฐํ•œ์„ ๋‘์–ด์„œ ํ•ดํ‚น์„ ๋ฐฉ์ง€ํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋งŒ๋ฃŒ ๊ธฐํ•œ์„ ๋‘”๋‹ค๋Š” ๊ฒƒ์€ ์‚ฌ์šฉ์ž๋„ ๋ถˆํŽธํ•จ์„ ๊ฒช์„์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜์˜จ ๊ฐœ๋…์ด Refresh Token ์ด๋ผ๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. Access Token์ด ์ƒ์„ฑํ• ๋•Œ Refresh Token๋„ ํ•œ๋ฒˆ์— ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

โžก Access Token์€ Refresh Token ๋ณด๋‹ค ๋งŒ๋ฃŒ ๊ธฐํ•œ์„ ์งง๊ฒŒ ์„ค์ •ํ•˜๋ฉฐ, Access Token์ด ๋งŒ๋ฃŒ๋˜์—ˆ์„๋•Œ Refresh Token ์„ ํ†ตํ•ด ์ ‘๊ทผ ํ•˜๊ณ  ๋‹ค์‹œ Access Token์˜ ๋งŒ๋ฃŒ ๊ธฐํ•œ์„ ๊ฐฑ์‹ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

!! ํ† ํฐ ๊ด€๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผํ•œ๋‹ค. ๊ฒฐ๊ตญ ํ† ํฐ๋„ ํƒˆ์ทจ ๋‹นํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

REFERENCE

https://velog.io/@jkijki12/Jwt-Refresh-Token-%EC%A0%81%EC%9A%A9%EA%B8%B0 (Refresh Token ๊ด€๋ จ)

๋งˆ๋ฌด๋ฆฌ

ํ”„๋กœ์ ํŠธ ๋“ค์–ด๊ฐ€๋ฉด์„œ ๊น”๋”ํ•˜๊ณ  ์‹ฌ๋„์žˆ๊ฒŒ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค

0๊ฐœ์˜ ๋Œ“๊ธ€