JWT(Json Web Token)

์ •์Šน์›ยท2023๋…„ 4์›” 23์ผ
0
post-thumbnail

๐Ÿ“’ ๋ชฉ์ฐจ

  • ๐Ÿ“Œ JWT(Json Web Token)๋ž€?
  • ๐Ÿ“Œ ์ฐธ์กฐ

๐Ÿ“Œ JWT(Json Web Token)๋ž€?

JWT๋Š” ์›น ํ‘œ์ค€์œผ๋กœ์„œ C, Java, Python, JS ๋“ฑ ๋Œ€๋ถ€๋ถ„์˜ย ์ฃผ๋ฅ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์ง€์›๋˜๋ฉฐ ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์ž์ฒด์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ์–ดย ์ž๊ฐ€ ์ˆ˜์šฉ์ (Self-contained)์ด๋ฉฐ ๊ทธ๋ ‡๊ธฐ์— ๋‘ ๊ฐœ์ฒด ์‚ฌ์ด์—์„œย ์‰ฝ๊ฒŒ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ๋Š”ย ์žฅ์ ๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

JWT๋Š”ย .์œผ๋กœ ๊ตฌ๋ถ„๋˜๋Š”ย Header, Payload, Signature์˜ 3๊ฐ€์ง€ ๋ฌธ์ž์—ด๋กœ ๋˜์–ด์žˆ๋‹ค.

โœ… Header (ํ—ค๋”)

Header๋Š”ย ํ† ํฐ์˜ ํƒ€์ž…๊ณผย ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค.

โœ… Payload (๋‚ด์šฉ)

Payload์—๋Š” ํ† ํฐ์— ๋‹ด์„ ์ •๋ณด๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉฐ, ๋‹ด๋Š” ์ •๋ณด์˜ ํ•œ ์กฐ๊ฐ์€ย name/value์˜ ํ•œ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ Claim์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
Claim์€ย Registered, Public, Private์˜ ์„ธ ๋ถ„๋ฅ˜๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ์œผ๋ฉฐย Registered Claim์€ ํ† ํฐ ๋ฐœ๊ธ‰์ž, ํ† ํฐ ์ œ๋ชฉ, ํ† ํฐ ๋งŒ๋ฃŒ์‹œ๊ฐ„, ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ๊ฐ„ ๋“ฑ ํ† ํฐ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ธฐ ์œ„ํ•ด ์ด๋ฏธ ์ด๋ฆ„์ด ์ •ํ•ด์ง„ Claim์ด๋‹ค.

โœ… Signature (์„œ๋ช…)

JWT์˜ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์€ ์„œ๋ช…์œผ๋กœ,ย Header์˜ ์ธ์ฝ”๋”ฉ ๊ฐ’๊ณผ Payload์˜ ์ธ์ฝ”๋”ฉ ๊ฐ’์„ ํ•ฉ์นœ ํ›„ ์ฃผ์–ด์ง„ ๋น„๋ฐ€ํ‚ค๋กœ ํ•ด์‹ฑํ•˜์—ฌ ์ƒ์„ฑํ•œ๋‹ค.

๐Ÿ“Œ ์ถœ์ฒ˜

https://codebootcamp.co.kr/

0๊ฐœ์˜ ๋Œ“๊ธ€