Archive for Dev. (junyup2)

지식을 μ±„μ›Œκ°€λŠ” γ€Žκ°œλ°œμž/ν™”μ΄νŠΈν•΄μ»€γ€λ₯Ό λͺ©ν‘œλ‘œ μ •λ¦¬ν•˜λŠ” λΈ”λ‘œκ·Έ

TIL ( Today I Learned )

[TIL] μ½”λ“œκ°€ λŒμ•„κ°„λ‹€κ³  μ œλŒ€λ‘œ κ΅¬ν˜„λœ 것 X (jwt)

Gearvirus(junyup2) 2023. 11. 15. 12:04
λ‚΄κ°€ κ΅¬ν˜„ν•œ JWT ν† ν°μ˜ λ¬Έμ œμ 

 

기쑴에 토큰을 λ°œν–‰ν•  λ•Œ...

  • base64_encode($header . '.' . $payload . '.' . $signature);
  • 이런 μ‹μœΌλ‘œ 헀더, νŽ˜μ΄λ‘œλ“œ, μ„œλͺ…을 ν•©μΉœ ν›„ base64 인코딩을 μ§„ν–‰ν•˜μ˜€μŒ
  • κ·Έκ²°κ³Ό.... 둜그인이 잘 κ΅¬ν˜„λ˜λŠ” λ“― λ³΄μ˜€μŒ
  • κ·ΈλŸ¬λ‹€κ°€ 이것저것 μ°Ύμ•„λ³΄λ˜ 도쀑
  • μœ„μ˜ μ½”λ“œμ²˜λŸΌ 토큰을 λ°œκΈ‰ν•˜λ©΄ JWT κ·œκ²©μ— μ–΄κΈ‹λ‚˜λŠ” 사싀을 κΉ¨λ‹«κ²Œ 됨
  • ν•˜μ—¬ 곡식 ν™ˆνŽ˜μ΄μ§€μΈ https://jwt.io/introduction의 λ‚΄μš©μ„ μ°Έμ‘°ν•˜μ—¬ ν•˜λ‚˜ ν•˜λ‚˜ 찾아보렀고 μƒκ°ν•˜κ³  기쑴에 λ°œν–‰λœ 토큰을 확인해 λ΄„
eyJhbGciOiJzaGEyNTYiLCJ0eXAiOiJKV1QifS57ImV4cCI6MTcwMDAyMDY3MCwiaWF0IjoxNzAwMDE3MDcwLCJpZCI6ImFkbWluIiwibmFtZSI6Ilx1YWQwMFx1YjlhY1x1Yzc5MCJ9LmRhNTYwNWRkZDc0MWNkNDhlYzdlODZjMWQ3NWVhODg1M2NhZWU5MDcwZmZmNjVlYzMxNjZkNjViYmJjZmZkOGQ%3D

 

  • κ·Έκ²°κ³Ό.... 둜그인 κ΅¬ν˜„μ΄ λœκ²ƒ 처럼 λ³΄μ˜€μ§€λ§Œ..
  • μ‹€μ œλ‘œλŠ” μœ„μ—μ„œ λ³΄μ΄λŠ” κ²ƒμ²˜λŸΌ
(헀더 . νŽ˜μ΄λ‘œλ“œ . μ„œλͺ…) 으둜 λ‚˜λˆ„μ–΄μ§€μ§€ μ•Šμ€ 점(.)이 μ—†λŠ” 토큰이 μƒκ²ΌμŒ
μ œλŒ€λ‘œλœ JWT κ°€ μ•„λ‹Œ μ΄μƒν•œ? 것이 κ΅¬ν˜„λœ 것

 

  • μ½”λ“œκ°€ μ œλŒ€λ‘œ κ΅¬ν˜„λœ 것 처럼 μƒκ°λœκ±΄ κ·Έμ €, 잘λͺ»λœ encoding 방식을 μ—­μœΌλ‘œ 잘λͺ»λœ decoding λ°©μ‹μœΌλ‘œ ν’€μ–΄λ‚΄μ„œ κ²°κ³Όκ°€ κ°™μ•˜μ„ 뿐

λ¬Έμ œμ μ€ λ‹€μŒκ³Ό κ°™μŒ
  • ν† ν°μ—λŒ€ν•œ 이해가 λΆ€μ‘±ν–ˆλ˜ 것

  • 헀더 . νŽ˜μ΄λ‘œλ“œ . μ„œλͺ…을 ν•©μΉœ 후에 인코딩 ν•˜λŠ” 것이 μ•„λ‹Œ, 각각을 인코딩 ν•˜κ³  λ‚˜μ„œ ν•©μ³μ€˜μ•Ό ν–ˆλ˜ 것 !!
  • base64κ°€ μ•„λ‹Œ base64(UrlSafe)둜 인코딩과 디코딩을 ν•΄μ€˜μ•Ό ν•˜λŠ” 것 !!
  • λ˜ν•œ μ„œλͺ…에 λ“€μ–΄κ°€λŠ” 헀더와 νŽ˜μ΄λ‘œλ“œλ„, κ·Έλƒ₯ λ“€μ–΄κ°€λŠ” 것이 μ•„λ‹Œ 각각 base64(UrlSafe)인코딩 ν›„ ν•©μ³μ„œ λ„£μ–΄μ€˜μ•Ό ν–ˆλ˜ 것!
  • μœ„μ˜ 3가지 큰 였λ₯˜λ‘œ μΈν•˜μ—¬ μ΄μƒν•œ 것이 λ§Œλ“€μ–΄μ§

 

  • μ½”λ“œλ₯Ό μˆ˜μ •ν•˜κ³  λ‚˜μ„œ κ²°κ³Όλ₯Ό λ‹€μ‹œ JWTλ₯Ό λ°œκΈ‰ν•΄λ³Έ κ²°κ³Ό
eyJhbGciOiJzaGEyNTYiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE3MDAwMzQ4NDUsImlhdCI6MTcwMDAzMTI0NSwiaWQiOiJhZG1pbiIsIm5hbWUiOiJcdWFkMDBcdWI5YWNcdWM3OTAifQ.OWMyN2FkN2NlOTBjYzI5MzdiYTE3YTE5Y2I5ZjQyYTRjZjlhYzExZDhiM2U3N2FkYjk3YmQ0MmE0NjMwZjAzNA
  • μœ„μ™€ 같이 .으둜 λ‚˜λˆ μ§„ 3λ“±λΆ„λœ κ²°κ³Όκ°€ λ‚˜μ˜€λŠ” 것을 확인할 수 μžˆμ—ˆμŒ
  • λ˜ν•œ λ‚˜μ˜¨ κ²°κ³Όλ₯Ό jwt.io에 λΆ™μ—¬λ„£μ–΄λ΄€μ„λ•Œ μ œλŒ€λ‘œ λ””μ½”λ”©λ˜λŠ” 것을 λ³Ό 수 μžˆμ—ˆμŒ

μžμ„Έν•œ κ²°κ³ΌλŠ” μ•„λž˜μ˜ κΈ€μ—μ„œ

λͺ¨μ˜ ν•΄ν‚Ή μŠ€ν„°λ”” -  3μ£Όμ°¨ 과제 (3-3Re) JWT κ΅¬ν˜„ (둜그인 μœ μ§€) μˆ˜μ •λ³Έ

 

λͺ¨μ˜ ν•΄ν‚Ή μŠ€ν„°λ”” - 과제 03μ£Όμ°¨(3-3Re) JWT κ΅¬ν˜„ (둜그인 μœ μ§€)

λͺ¨μ˜ ν•΄ν‚Ή μŠ€ν„°λ”” - 과제 03μ£Όμ°¨(3-3) JWT κ΅¬ν˜„ (둜그인 μœ μ§€) μ½”λ“œμ— λŒ€ν•˜μ—¬ 더 보닀가 λ°œκ²¬ν•œ 문제점 μˆ˜μ • TIL - JWT 토큰 (λ‚΄ μ½”λ“œμ˜ 문제점 발견) λͺ¨μ˜ ν•΄ν‚Ή μŠ€ν„°λ”” - 3μ£Όμ°¨ 과제 (3-2) JWT κ΅¬ν˜„ - jwt 규

codegear-archive.tistory.com


μ½”λ“œκ°€ λŒμ•„κ°„λ‹€κ³  μ œλŒ€λ‘œ κ΅¬ν˜„λœ 것이 μ•„λ‹ˆλž€ 것을 생각.....