카테고리 없음

JWT / API

SammyK 2022. 3. 13. 11:50

JWT(Json Web Token) 란 Json 포멧을 이용하여 사용자에 대한 속성을 저장하는 claim 기반의 Web Token 입니다.

JWT 는 Header, Payload, Signature 의 3부분으로 이루어지며, Json 형태인 각 부분은 Base64 로 인코딩 되어 아래와 같이 표현됩니다.

-인코딩이라해도 이것이 암호화된것이 아니다.

JWT 토큰

 

HEADER

{
  "typ" : "JWT",
  "alg": "HS256"
}

 

  • typ : 토큰의 타입을 지정
  • alg : 해싱 알고리즘을 지정(HMAC SHA256 , RSA)

 

 

PAYLOAD

{
  "sub": "1234567890",
  "name": "Dahye Jeong",
  "iat": 1516239022
}

 

payload 는 3가지 분류로 나뉜다.

그다음은,

 

JWT 정보는 아래와 같이 쓰인다.

 

  1. 사용자가 로그인을 하면 토큰을 받고
  2. 웹사이트를 이용할떄 권한이 있는지 토큰을 검증하고, 검증이 되면 요청의 대한 응답을 사용자한테 돌려주거나, 보여준다.


API는 서버와 데이터베이스가 서로 상호작용하는 것을 도와주는 매개체로 볼 수 있습니다.

사용자가 api 에 어떤 값을 달라고 요청을 하면 api 가 데이터베이스에 요청을 날리고

받은 값을 사용자에게 원할하게 전달해준다.

API 는 3가지의 유형이 있습니다.

  1. Public API   -  누구나 이 API 를 사용할수 있습니다
  2. Private API  -  혼자만 쓸수 있는 API, 노출이 되지 않습니다.
  3. Partner API -  파트너들만 쓸수 있는 API.