π μ€λμ μ΄λ€ ν루μμ§..
μ€λ μκ°λ³΄λ€ λ§μ κ²λ€μ νλ€.
μ€μ μλ μ§κΈκΉμ§ μμ ν λ΄μ©λ€μ 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 μμ±
'π₯οΈ μ΄μ»€λ¨Έμ€νλ‘μ νΈ > βοΈ 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 |