JWT(Json Web Token) 란 Json 포멧을 이용하여 사용자에 대한 속성을 저장하는 claim 기반의 Web Token 입니다.
JWT 는 Header, Payload, Signature 의 3부분으로 이루어지며, Json 형태인 각 부분은 Base64 로 인코딩 되어 아래와 같이 표현됩니다.
-인코딩이라해도 이것이 암호화된것이 아니다.
HEADER
{
"typ" : "JWT",
"alg": "HS256"
}
- typ : 토큰의 타입을 지정
- alg : 해싱 알고리즘을 지정(HMAC SHA256 , RSA)
PAYLOAD
{
"sub": "1234567890",
"name": "Dahye Jeong",
"iat": 1516239022
}
payload 는 3가지 분류로 나뉜다.
그다음은,
JWT 정보는 아래와 같이 쓰인다.
- 사용자가 로그인을 하면 토큰을 받고
- 웹사이트를 이용할떄 권한이 있는지 토큰을 검증하고, 검증이 되면 요청의 대한 응답을 사용자한테 돌려주거나, 보여준다.
API는 서버와 데이터베이스가 서로 상호작용하는 것을 도와주는 매개체로 볼 수 있습니다.
사용자가 api 에 어떤 값을 달라고 요청을 하면 api 가 데이터베이스에 요청을 날리고
받은 값을 사용자에게 원할하게 전달해준다.
API 는 3가지의 유형이 있습니다.
- Public API - 누구나 이 API 를 사용할수 있습니다
- Private API - 혼자만 쓸수 있는 API, 노출이 되지 않습니다.
- Partner API - 파트너들만 쓸수 있는 API.