JWT(JSON Web Token)λ 무μμΈκ°μ?
JWT(JSON Web Token)λ μΉ νμ€(RFC 7519)μΌλ‘, λ λΉμ¬μ μ¬μ΄μμ μ 보λ₯Ό JSON κ°μ²΄λ‘ μμ νκ² μ μ‘νκΈ° μν μ»΄ν©νΈνκ³ λ 립μ μΈ λ°©λ²μ λλ€. μ£Όλ‘ ν΄λΌμ΄μΈνΈμ μλ² κ°μ μΈμ¦ λ° μ 보 κ΅νμ λ리 μ¬μ©λ©λλ€. JWTλ μ (.)μΌλ‘ ꡬλΆλ μΈ λΆλΆ(Header, Payload, Signature)μΌλ‘ μ΄λ£¨μ΄μ Έ μμΌλ©°, κ° λΆλΆμ Base64Urlλ‘ μΈμ½λ©λμ΄ μ μ‘λ©λλ€.
ν€λ(Header)λ ν ν°μ μ ν(JWT)κ³Ό μ¬μ© μ€μΈ ν΄μ± μκ³ λ¦¬μ¦(μ: HMAC SHA256, RSA)μ λν μ 보λ₯Ό λ΄κ³ μμ΅λλ€. νμ΄λ‘λ(Payload)λ μ€μ λ‘ μ λ¬νκ³ μ νλ 'ν΄λ μ(Claims)' μ λ³΄κ° λ΄κ²¨ μμ΅λλ€. ν΄λ μμλ μ¬μ©μ ID, μ΄λ¦, κΆν, ν ν° λ§λ£ μκ° λ±μ΄ ν¬ν¨λ μ μμ΅λλ€. λ§μ§λ§ μκ·Έλμ²(Signature)λ ν ν°μ΄ μ μ‘ λμ€ λ³μ‘°λμ§ μμμμ νμΈνλ λ° μ¬μ©λλ λΆλΆμ λλ€.
μ΄ λꡬλ μνΈνλ λ°μ΄ν°λ₯Ό 볡νΈννλ κ²μ΄ μλλΌ, λꡬλ μ½μ μ μλ λ°©μμΌλ‘ μΈμ½λ©λ Base64 λ°μ΄ν°λ₯Ό μλμ JSON ν μ€νΈλ‘ λλλ € 보μ¬μ£Όλ μν μ ν©λλ€. λ°λΌμ λ―Όκ°ν μ λ³΄κ° ν¬ν¨λ ν ν°μ λ€λ£° λλ νμ μ£Όμν΄μΌ νλ©°, JWT λ΄λΆμ λΉλ°λ²νΈμ κ°μ 보μ μ 보λ₯Ό λ΄μ§ μλ κ²μ΄ μμΉμ λλ€. κ°λ° κ³Όμ μμ ν ν°μ λ§λ£ μκ°(exp)μ΄λ λ°κΈμ(iss) μ λ³΄κ° μ ννκ² λ€μ΄κ°λμ§ νμΈν λ λ§€μ° μ μ©νκ² νμ©ν μ μμ΅λλ€.
μμ£Ό 묻λ μ§λ¬Έ (FAQ)
A: μ λ ₯ν κ°μ΄ μ (.) λ κ°λ₯Ό ν¬ν¨ν μ ν¨ν JWT νμμΈμ§ νμΈν΄ μ£ΌμΈμ. 곡백μ΄λ μ€λ°κΏμ΄ μμ¬ μμ κ²½μ° λμ½λ©μ μ€ν¨ν μ μμ΅λλ€.
A: λ³Έ λꡬλ λΉ λ₯Έ μ 보 νμΈμ μν λμ½λλ‘, μλ² μΈ‘μ μν¬λ¦Ώ ν€λ₯Ό ν΅ν μκ·Έλμ² μ ν¨μ± κ²μ¦ κΈ°λ₯μ μ 곡νμ§ μμ΅λλ€.
A: λͺ¨λ λ‘μ§μ μ¬μ©μμ λΈλΌμ°μ μμ μ€νλ©λλ€. μ λ ₯λ λ°μ΄ν°λ μΈλΆ μλ²λ‘ μ μ‘λμ§ μμΌλ―λ‘ μμ¬νκ³ μ¬μ©νμ λ λ©λλ€.