์ค๋์ Spring Security๊ณผ JWT์ Access Token, Refresh Token ์ ๋ํด์ ๋ฐฐ์ ์ผ๋ฉฐ, ๋ฐฐ์ฐ๊ณ ๋๋์ ์ ์ ๋ฆฌ ํ๊ฒ ์ต๋๋ค.
Spring Security ๋ง ๊ทธ๋๋ก ๋ณด์๊ณผ ๊ด๋ จํ ์ฃผ์ ์ด๋ค. ๋ณด์์ ์ฃผ์ ์์๋ ์ธ์ฆ๊ณผ ์ธ๊ฐ์ ๋ํด์ ๋นผ๋๊ณ ์๊ธฐํ ์๊ฐ ์๋ค. ๊ทธ๋์ ์ธ์ฆ๊ณผ ์ธ๊ฐ์ ๋ํด ๊ฐ๋จํ ์ ์๋ฅผ ์์๋ณด๊ฒ ์ต๋๋ค.์ธ์ฆ : ์ธ์ฆ์ด๋ ์ ์ ํน์ ์ฌ์ฉ์์ ์ ์์ ์ ์ฆํ๋ ๊ณผ์ ์ด๋ค.
์ธ๊ฐ : ์ธ๊ฐ๋ ์ธ์ฆ์ ๋ฐ์ ์ ์ ํน์ ์ฌ์ฉ์๊ฐ ์ด๋ ๊น์ง์ ๋ฒ์๊น์ง ํ์ฉํ ๊ฒ์ธ์ง์ ๋ํ ์๋ฏธ ์ด๋ค.
( EX : ๊ฑด๋ฌผ์ 1์ธต๋ง์ ์ฌ์ฉํ ์ ์๋ ์ธ์ฆ (์ฌ์์ฆ)์ ๋ฐ์ ์ฌ์ฉ์๋ ๊ฑด๋ฌผ์ 2์ธต 3์ธต์ ์ฌ์ฉํ ์ ์๋ค.)
์ด๋ฌํ ์์๋ฅผ ๊ฐ๋จํ ๊ฒ์ํ ์น (Web) ์ผ๋ก ์ ์ฉ์ ํด๋ณด์๋ฉด, ์ธ์ฆ์ ๋ก๊ทธ์ธ์ ํ๋ ๊ณผ์ ์ ๋๋ค.
๋ก๊ทธ์ธ์ ํ ์ ์ ๋ ๊ฒ์ํ์ ๊ธ์ ์์ฑํ๊ฑฐ๋ ๋ค๋ฅธ ์ฌ๋์ ๊ธ์ ์ฝ์์ ์๋ ๊ถํ ์ฆ ์ธ๊ฐ๋ฅผ ํ๋ ํ ์ ์์ต๋๋ค.
ํ์ง๋ง ๋ค๋ฅธ ์ฌ๋์ด ์์ฑํ ๊ธ์ ์์ ํ ์๋ ์์ต๋๋ค.
(์์ ํ ์ ์๋ ๊ถํ์ ์๊ธฐ ๋๋ฌธ)
- Access Token์ ๋ง๋ฃ ๊ธฐํ์ ๋์ด์ ํดํน์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
- ๋ง๋ฃ ๊ธฐํ์ ๋๋ค๋ ๊ฒ์ ์ฌ์ฉ์๋ ๋ถํธํจ์ ๊ฒช์์ ์์ต๋๋ค. ๊ทธ๋์ ๋์จ ๊ฐ๋ ์ด Refresh Token ์ด๋ผ๋ ๊ฐ๋ ์ ๋๋ค. Access Token์ด ์์ฑํ ๋ Refresh Token๋ ํ๋ฒ์ ๋ง๋๋ ๊ฒ์ ๋๋ค.
โก Access Token์ Refresh Token ๋ณด๋ค ๋ง๋ฃ ๊ธฐํ์ ์งง๊ฒ ์ค์ ํ๋ฉฐ, Access Token์ด ๋ง๋ฃ๋์์๋ Refresh Token ์ ํตํด ์ ๊ทผ ํ๊ณ ๋ค์ Access Token์ ๋ง๋ฃ ๊ธฐํ์ ๊ฐฑ์ ํ๊ฒ ๋ฉ๋๋ค.
!! ํ ํฐ ๊ด๋ฆฌ๋ฅผ ํด์ค์ผํ๋ค. ๊ฒฐ๊ตญ ํ ํฐ๋ ํ์ทจ ๋นํ ์ ์์ต๋๋ค.
https://velog.io/@jkijki12/Jwt-Refresh-Token-%EC%A0%81%EC%9A%A9%EA%B8%B0 (Refresh Token ๊ด๋ จ)
ํ๋ก์ ํธ ๋ค์ด๊ฐ๋ฉด์ ๊น๋ํ๊ณ ์ฌ๋์๊ฒ ์ ๋ฆฌํด์ผ๊ฒ ๋ค