πŸš‡ ν•­ν•΄99 1μ£Ό μ°¨ WIL

λ°•μš©μ›Β·2022λ…„ 7μ›” 17일
0

ν•­ν•΄99 WIL

λͺ©λ‘ 보기
1/4

JWT

JWT λž€?

  • JSON Web Token (JWT) 은 μ›Ήν‘œμ€€ (RFC 7519) μœΌλ‘œμ„œ 두 κ°œμ²΄μ—μ„œ JSON 객체λ₯Ό μ‚¬μš©ν•˜μ—¬ 가볍고 μžκ°€μˆ˜μš©μ μΈ (self-contained) λ°©μ‹μœΌλ‘œ 정보λ₯Ό μ•ˆμ „μ„± 있게 전달해쀀닀.

JWTκ°€ μ–΄λ–»κ²Œ μ‚¬μš©λ κΉŒ?

  • νšŒμ› 인증: μœ μ €κ°€ λ‘œκ·ΈμΈμ„ ν•˜λ©΄, μ„œλ²„λŠ” μœ μ €μ˜ 정보에 κΈ°λ°˜ν•œ 토큰을 λ°œκΈ‰ν•˜μ—¬ μœ μ €μ—κ²Œ 전달해쀀닀. κ·Έ ν›„, μœ μ €κ°€ μ„œλ²„μ— μš”μ²­μ„ ν•  λ•Œ λ§ˆλ‹€ JWTλ₯Ό ν¬ν•¨ν•˜μ—¬ μ „λ‹¬ν•œλ‹€.μ„œλ²„κ°€ ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œμ„œ μš”μ²­μ„ λ°›μ„λ•Œ λ§ˆλ‹€, ν•΄λ‹Ή 토큰이 μœ νš¨ν•˜κ³  μΈμ¦λλŠ”μ§€ 검증을 ν•˜κ³ , μœ μ €κ°€ μš”μ²­ν•œ μž‘μ—…μ— κΆŒν•œμ΄ μžˆλŠ”μ§€ ν™•μΈν•˜μ—¬ μž‘μ—…μ„ μ²˜λ¦¬ν•œλ‹€. μ„œλ²„μΈ‘μ—μ„œλŠ” μœ μ €μ˜ μ„Έμ…˜μ„ μœ μ§€ ν•  ν•„μš”κ°€ μ—†λ‹€. 즉 μœ μ €κ°€ λ‘œκ·ΈμΈλ˜μ–΄μžˆλŠ”μ§€ μ•ˆλ˜μ–΄μžˆλŠ”μ§€ μ‹ κ²½ μ“Έ ν•„μš”κ°€ μ—†κ³ , μœ μ €κ°€ μš”μ²­μ„ ν–ˆμ„λ•Œ ν† ν°λ§Œ ν™•μΈν•˜λ©΄ λ˜λ‹ˆ, μ„Έμ…˜ 관리가 ν•„μš” μ—†μ–΄μ„œ μ„œλ²„ μžμ›μ„ 많이 μ•„λ‚„ 수 μžˆλ‹€.

  • 정보 ꡐλ₯˜: JWTλŠ” 두 개체 μ‚¬μ΄μ—μ„œ μ•ˆμ •μ„±μžˆκ²Œ 정보λ₯Ό κ΅ν™˜ν•˜κΈ°μ— 쒋은 방법이닀. κ·Έ μ΄μœ λŠ”, 정보가 sign 이 λ˜μ–΄μžˆκΈ° λ•Œλ¬Έμ— 정보λ₯Ό 보낸이가 λ°”λ€Œμ§„ μ•Šμ•˜λŠ”μ§€, 또 정보가 도쀑에 μ‘°μž‘λ˜μ§€λŠ” μ•Šμ•˜λŠ”μ§€ 검증할 수 μžˆλ‹€.

JWT의 단점

  • 토큰은 ν΄λΌμ΄μ–ΈνŠΈμ— μ €μž₯λ˜μ–΄ λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ μ‚¬μš©μž 정보λ₯Ό μ‘°μž‘ν•˜λ”λΌλ„ 토큰에 직접 μ μš©ν•  수 μ—†λ‹€λŠ” 점이 μžˆλ‹€.

  • 더 λ§Žμ€ ν•„λ“œκ°€ μΆ”κ°€λ˜λ©΄ 토큰이 컀질 수 μžˆλ‹€.

JWT의 ꡬ쑰

  • JWTλŠ” Header, Payload, Signature μ„Έ 뢀뢄을 점(.)으둜 κ΅¬λΆ„ν•˜λŠ” ꡬ쑰닀.

마무리

JWT의 넓은 λ²”μš©μ„±, 무결성 보μž₯, ν•„μš”ν•œ 값을 자체 포함할 수 μžˆλŠ” μ„±μ§ˆ λ•Œλ¬Έμ— λ§Žμ€ κ³³μ—μ„œ JWTλ₯Ό μ‚¬μš©ν•˜κ³  있고, μ•žμœΌλ‘œ 더 λ§Žμ€ κ³³μ—μ„œ μ‚¬μš©ν•  것이라고 ν•œλ‹€.


API

API λž€?

  • APIλŠ” μ»΄ν“¨ν„°λ‚˜ 컴퓨터 ν”„λ‘œκ·Έλž¨ μ‚¬μ΄μ˜ 연결이닀. μΌμ’…μ˜ μ†Œν”„νŠΈμ›¨μ–΄ μΈν„°νŽ˜μ΄μŠ€μ΄λ©° λ‹€λ₯Έ μ’…λ₯˜μ˜ μ†Œν”„νŠΈμ›¨μ–΄μ— μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•œλ‹€. 주둜 파일 μ œμ–΄, μ°½ μ œμ–΄, 화상 처리, 문자 μ œμ–΄ 등을 μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•œλ‹€.

API의 ꡬ쑰

  • APIλŠ” μ»΄ν“¨ν„°λ‚˜ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό μ„œλ‘œ μ—°κ²°ν•œλ‹€.

마무리

APIλŠ” κ°œλ°œμžκ°€ μƒˆλ‘œμš΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ꡬ성 μš”μ†Œλ₯Ό κΈ°μ‘΄ μ•„ν‚€ν…μ²˜μ— ν†΅ν•©ν•˜λŠ” 방식을 κ°„μ†Œν™”ν•˜λ―€λ‘œ λΉ„μ¦ˆλ‹ˆμŠ€ νŒ€κ³Ό IT νŒ€μ˜ ν˜‘μ—…μ—λ„ 도움이 λœλ‹€.

profile
초보개발

0개의 λŒ“κΈ€