Web

Token] Tokenλž€? μ •μ˜

μ™•κ°€πŸ‘ 2023. 7. 23. 21:25
728x90
λ°˜μ‘ν˜•

Cookie, Session에 이어 토큰과 κ΄€λ ¨λœ  Token에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄κ³ μž ν•©λ‹ˆλ‹€.

 

토큰(Token)은 ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ— μ ‘μ†ν•˜λ©΄ μ„œλ²„μ—μ„œ ν•΄λ‹Ή ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μΈμ¦λ˜μ—ˆλ‹€λŠ” μœ μΌν•œ κ°’μœΌλ‘œ λ³΄μ‹œλ©΄ λ©λ‹ˆλ‹€.

이 값을 이제 토큰이라고 μΉ­ν•©λ‹ˆλ‹€.

 

μΈμ¦ν•˜λŠ” 토큰이기 λ•Œλ¬Έμ— ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μ„œλ²„λ‘œ μš”μ²­μ„ 보낼 λ•Œ, 헀더에 토큰을 μ‹¬μ–΄μ„œ λ³΄λ‚΄κ²Œ λ˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

이제 토큰 값을 기반으둜 μ„œλ²„κ°€ ν•΄λ‹Ήν•˜λŠ” κΆŒν•œμ— 맞좰 λ™μž‘ν•˜κ²Œ λ˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

헀더에 토큰을 ν•¨κ»˜ 보내 인증받은 μ‚¬μš©μžμΈμ§€ ν™•μΈν•˜κ²Œ λ©λ‹ˆλ‹€.

(Cookie와 Sessionμ—μ„œ μ„€λͺ…ν–ˆλ˜ 것듀과 λ™μΌν•©λ‹ˆλ‹€.)

 

ν† ν°μ—λŠ” μš”μ²­ν•œ μ‚¬λžŒμ˜ 정보가 담겨 있기 λ•Œλ¬Έμ— DBλ₯Ό μ‘°νšŒν•˜μ§€ μ•Šμ•„λ„ λ˜λŠ” 큰 μž₯점이 μžˆμŠ΅λ‹ˆλ‹€.

 

 

728x90

 

 

λ™μž‘

  1. μ‚¬μš©μžκ°€ λ‘œκ·ΈμΈμ„ ν•©λ‹ˆλ‹€.
  2. μ„œλ²„μ—μ„œλŠ” ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μœ μΌν•œ 토큰을 λ°œκΈ‰ν•©λ‹ˆλ‹€.
  3. ν΄λΌμ΄μ–ΈνŠΈλŠ” μ„œλ²„λ‘œλΆ€ν„° 받은 토큰을 μΏ ν‚€λ‚˜ μŠ€ν† λ¦¬μ§€μ— μ €μž₯ν•΄ λ‘‘λ‹ˆλ‹€.
  4. ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ— μš”μ²­μ„ ν•  λ•Œ, HTTP μš”μ²­ 헀더에 토큰값을 ν•¨κ»˜ μ „λ‹¬ν•©λ‹ˆλ‹€.
  5. μ„œλ²„λŠ” ν΄λΌμ΄μ–ΈνŠΈλ‘œλΆ€ν„° 받은 토큰 값을 κ²€μ¦ν•˜κ³ , 응닡을 λ³΄λ‚΄κ²Œ λ©λ‹ˆλ‹€.

 

 

 


 

 

단점

  • μΏ ν‚€λ‚˜ μ„Έμ…˜κ³Ό λ‹€λ₯΄κ²Œ 토큰 자체의 데이터가 κΈΈμ–΄ λ„€νŠΈμ›Œν¬μ— λΆ€ν•˜λ₯Ό 받을 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
  • Payloadμžμ²΄λŠ” μ•”ν˜Έν™”κ°€ λ˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μ€‘μš”ν•œ μ •λ³΄λŠ” 담을 수 μ—†μŠ΅λ‹ˆλ‹€.
  • 토큰을 νƒˆμ·¨λ‹Ήν•  경우, λŒ€μ²˜κ°€ νž˜λ“­λ‹ˆλ‹€.

 

 


 

 

Cookie, Session, Token 인증 방법에 λŒ€ν•΄μ„œ μ•Œμ•„λ΄€μŠ΅λ‹ˆλ‹€.
κ·Έλƒ₯ κ°œλ°œν•˜λ‹€ λ³΄λ©΄μ„œ μ–΄κΉ¨λ„ˆλ¨Έλ‘œ μ•Œκ³ λ§Œ μžˆμ—ˆλŠ”λ°, μ’€ 더 λͺ…ν™•νžˆ κ³΅λΆ€ν–ˆλ˜ 적은 μ΄λ²ˆμ— μ²˜μŒμ΄μ—ˆλ˜ κ±° κ°™μŠ΅λ‹ˆλ‹€.

λ‹€μŒμ— JWT에 λŒ€ν•΄μ„œλ„ 곡뢀해 보면, 인증 κ΄€λ ¨λœ λΆ€λΆ„μ˜ κ°œλ…μ€ μ–΄λŠ 정도 작힐 λ“―μ‹ΆμŠ΅λ‹ˆλ‹€.

 

 

728x90

'Web' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

CSR vs SSR vs SSG (+SEO)  (0) 2023.08.06
Token] JWT (JSON Web Token)  (0) 2023.07.27
Sessionμ΄λž€?  (0) 2023.07.20
Cookie] μ‚¬μš©ν•˜λŠ” 이유  (0) 2023.07.16
Cookie] μ •μ˜  (0) 2023.07.15