사용자의 identification을 확인하는 절차
HTTP STATELESS
각각의 HTTP 통신은 독립적이라 과거의 통신 내용을 알지 못한다.
-> 로그인에 성공한 후에는 access token이라고 하는 암호화된 유저 정보를 첨부해서 request를 보낸다.
access token을 생성하는 방식중 가장 널리 사용된다.
유저 정보를 담은 JSON 데이터를 암호화 해서 클라이언트와 서버간에 주고 받는다.
// 로그인
POST /auth HTTP/1.1
Host: localhost:5000
Content-Type: application/json
{
"username": "jhk",
"password": "1234"
}
//access token
HTTP/1.1 200 OK
Content-Type: application/json
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZGVudGl0eSI6MSwiaWF0IjoxNDQ0OTE3NjQwLCJuYmYiOjE0NDQ5MTc2NDAsImV4cCI6MTQ0NDkxNzk0MH0.KPmI6WSjRjlpzecPvs3q_T3cJQvAgJvaQAPtk1abC_E"
}
//복호화
{
user_id : 1
}
유저가 요청하는 request를 실행할 수 있는 권한이 있는 사용자인가를 확인하는 절차
access token
을 생성한다. access token
을 첨부해서 보낸다.access token
을 복호화 한다.fetch('api주소', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: "example@wecode.com",
password: "1q2w3e4r",
})
})
.then(response=>response.json())
.then(result=>console.log(result))
젼님 화이팅❤️