๐ ์ค๋์ ์ด๋ค ํ๋ฃจ์์ง..
์ค๋ ์๊ฐ๋ณด๋ค ๋ง์ ๊ฒ๋ค์ ํ๋ค.
์ค์ ์๋ ์ง๊ธ๊น์ง ์์ ํ ๋ด์ฉ๋ค์ API ๋ช ์ธ์์ ์ถ๊ฐ ๋ฐ ์์ ์ ์งํํ๋ค. ์คํ์ ์งํํ ๋ด์ฉ๋ค์ด ๋ ์์ด์ ๋ด์ผ ์ค์ ์ ์ถ๊ฐ์ ์ผ๋ก ์์ ํ ์์ ์ด๋ค.
๊ทธ ํ์๋ ๋ด๊ฐ ์์
ํ ํํธ์ ๋ํ Valid ๊ฒ์ฆ ๋ก์ง์ ์ถ๊ฐํ๋ค. ์ด๊ฑด ๊ทธ๋ฅ ์ด๋
ธํ
์ด์
๋ง ๋ถ์ด๋ฉด ๋๋ ๊ฑฐ๋ผ์ ๊ธ๋ฐฉ ๋๋ฌ๋ค.
๊ทธ๋ฆฌ๊ณ ์ต๋ ์ฃผ์ ๊ฐ์๋ฅผ ์ค์ ํด๋์ง ์์ ๊ฒ์ด ๋ ์ฌ๋ผ์ ์ต๋ ์ฃผ์ ๊ฐ์๋ฅผ 5๊ฐ๋ก ์ค์ ํด ์ฃผ์๋ค.
๊ฐ๋จํ ์์
์ด ๋ค ๋๋ ํ์๋ Refresh Token์ ์ถ๊ฐํ๋ค.
๋จผ์ Refresh ํ ํฐ์ ๋ํ ๊ฐ๋
์ ๊ณต๋ถํ๊ณ , JwtUtil์ Refresh Token ๋ง๋๋ ๋ฉ์๋๋ฅผ ์ถ๊ฐํ๊ณ ๋ก๊ทธ์ธ ๋ก์ง์ Refresh Token์ ์ถ๊ฐํด์ ๋ฐํํ๋๋ก ์์ ํ๋ค. ์๋ฃํ ํ, Refresh Token์ Redis์์ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ข๋ค๋ ๊ฒ์ ์๊ฒ ๋์๊ณ , Redis์ Refresh Token์ด ์ ์ฅ๋ ์ ์๋๋ก ๋ก์ง์ ์์ ํ๋ค. ๋ง์ง๋ง์ผ๋ก ๋ก๊ทธ์์ API๋ฅผ ์ถ๊ฐํด์ ๋ก๊ทธ์์ ํ์ ๋ Redis์ ์ ์ฅ๋ Refresh Token์ด ์ญ์ ๋ ์ ์๋๋ก ํ๋ค.
์๊ฐํ๋ ๋๋ก ์ ๋ถ ๊ฐ๋ฐํ๊ณ ๋๋ ๋ฟ๋ฏํ ํ๋ฃจ์๋ค.
๐ก ์๋กญ๊ฒ ์๊ฒ ๋ ๋ด์ฉ์ ๋ญ๊ฐ ์๋๋ผ..?!
Refresh Token
Access Token์ด ๋ง๋ฃ๋์์ ๋, ์๋ก์ด Access Token์ ๋ฐ์์ค๊ธฐ ์ํ ํ ํฐ
์ฌ์ฉ์์๊ฒ๋ ๋
ธ์ถ, ์๋ฒ์๋ ์ ์ฅ๋จ
์๋ช
์ด ๊ธธ๋ค (๋ณดํต 7์ผ ~ 30์ผ ์ด์)
๐ Access Token์ด ๋ง๋ฃ๋์ง๋ง, ๋ก๊ทธ์ธ ์ํ๋ฅผ ์ ์งํ๊ณ ์ถ์ ์ฌ์ฉ์์๊ฒ ์๋์ผ๋ก ์ ํ ํฐ์ ๋ฐ๊ธํ๊ธฐ ์ํ ํ ํฐ์ด๋ค.
๊ทธ๋ผ ์ ํ์ํ๊ฐ?
์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธํ๊ณ Access Token์ ๋ฐ๊ธ๋ฐ๋๋ค.
๋ก๊ทธ์ธํ๊ณ 30๋ถ ๋ค Access Token์ด ๋ง๋ฃ๋๋ค. ๋ค์ ๋ก๊ทธ์ธํ๋ ค๊ณ ํ๋ ๊ฒ์ UX๊ฐ ๋งค์ฐ ๋์๋ค.
๋์ ์ ์ฅ๋ Refresh Token์ผ๋ก ์๋ก์ด Access Token์ ๋ฐ๊ธํ๋ฉด ๋ก๊ทธ์ธ ์ ์ง๊ฐ ๊ฐ๋ฅํ๋ค!
Refresh Token์ ๋์ ํ๋ฆ
[๋ก๊ทธ์ธ ์]
โฌ๏ธ
Access Token + Refresh Token ๋ฐ๊ธ
โฌ๏ธ
Access Token์ ํด๋ผ์ด์ธํธ์ ์ ์ฅ
Refresh Token์ Redis ๊ฐ์ ์๋ฒ ์ ์ฅ์์ ์ ์ฅ
โฌ๏ธ
[Access Token ๋ง๋ฃ ์]
โฌ๏ธ
Refresh Token์ ํตํด Access Token ์ฌ๋ฐ๊ธ ์์ฒญ
โฌ๏ธ
์๋ฒ๊ฐ Redis์์ Refresh Token ํ์ธ ํ Access Token ์ฌ๋ฐ๊ธ
๐๏ธ ๋ด์ผ์ ๋ญ ํ์ง?!
โ๏ธ QueryDSL๋ก ์ ๋ถ ์์
โ๏ธ ์ด๋
โ๏ธ TIL ์์ฑ
'๐ฅ๏ธ EvoStyleํ๋ก์ ํธ > โ๏ธ TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] ๋ค์ ์์ํด๋ณด๋ ํ๋ก์ ํธ 18์ผ์ฐจ.. (0) | 2025.05.08 |
---|---|
[TIL] ๋ค์ ์์ํด๋ณด๋ ํ๋ก์ ํธ TIL 16์ผ์ฐจ.. (0) | 2025.05.07 |
[TIL] ๋ค์ ์์ํด๋ณด๋ ํ๋ก์ ํธ TIL 14์ผ์ฐจ.. (0) | 2025.05.04 |
[TIL] ๋ค์ ์์ํด๋ณด๋ ํ๋ก์ ํธ TIL 13์ผ์ฐจ.. (0) | 2025.05.03 |
[TIL] ๋ค์ ์์ํด๋ณด๋ ํ๋ก์ ํธ TIL 12์ผ์ฐจ.. (0) | 2025.05.02 |