λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ–₯️ μ΄μ»€λ¨ΈμŠ€ν”„λ‘œμ νŠΈ/✏️ TIL

[TIL] λ‹€μ‹œ μ‹œμž‘ν•΄λ³΄λŠ” ν”„λ‘œμ νŠΈ TIL 17일차..

by carrot0911 2025. 5. 7.

🌞 μ˜€λŠ˜μ€ μ–΄λ–€ ν•˜λ£¨μ˜€μ§€..

였늘 생각보닀 λ§Žμ€ 것듀을 ν–ˆλ‹€.

μ˜€μ „μ—λŠ” μ§€κΈˆκΉŒμ§€ μž‘μ—…ν•œ λ‚΄μš©λ“€μ„ 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 μž‘μ„±