Closed leebo155 closed 2 months ago
JWT 토큰이 이제 쿠키로 전달됩니다.
POST http://localhost/user/login/
Request
{
"username": "bohlee",
"password": "bohlee///",
"email": "bohlee@student.42seoul.kr"
}
Response
Set-Cookie: refresh=[REFRESH_TOKEN]; expires=Wed, 00 Sep 2024 00:00:02 GMT; HttpOnly; Max-Age=86400; Path=/; Secure
Set-Cookie: access=[ACCESS_TOKEN]; expires=Tue, 00 Sep 2024 00:00:00 GMT; HttpOnly; Max-Age=1800; Path=/; Secure
{ "detail":"Login successful" }
## 재발급
POST http://localhost/user/refresh/
* Request
```http
{
"refresh": "[REFRESH_TOKEN]"
}
Set-Cookie: refresh=[REFRESH_TOKEN]; expires=Wed, 00 Sep 2024 00:00:02 GMT; HttpOnly; Max-Age=86400; Path=/; Secure
Set-Cookie: access=[ACCESS_TOKEN]; expires=Tue, 00 Sep 2024 00:00:00 GMT; HttpOnly; Max-Age=1800; Path=/; Secure
{ "detail": "Refresh successful" }
## 로그아웃
POST http://localhost/user/logout/
* Request
```http
Authorization: Bearer [ACCESS_TOKEN]
{
"refresh": "[REFRESH_TOKEN]"
}
Set-Cookie: refresh=""; expires=Thu, 01 Jan 1970 00:00:00 GMT; Max-Age=0; Path=/
Set-Cookie: access=""; expires=Thu, 01 Jan 1970 00:00:00 GMT; Max-Age=0; Path=/
{ "detail": "Logout successful" }
JWT
간단한 JWT 토큰과 장고 기본 유저 DB모델을 사용하여 구현했습니다.
회원가입
POST http://localhost/user/signup
Request Body
Success Response: 201
Fail Response: 400 요청 데이터가 없는 경우
Fail Response: 500 파이선 코드의 문제, 현재 유효성검사를 커스터마이징 하지 않아 예외처리가 발생한 경우
로그인
POST http://localhost/user/login
Request Body
Success Response: 200
Fail Response: 400 요청 데이터가 없는 경우
Fail Response: 401 아이디가 없거나 비밀번호가 틀린 경우
토큰 재발급
POST http://localhost/user/refresh
Request Body
Success Response: 200
Fail Response: 400 요청 데이터가 없는 경우
Fail Response: 401 토큰이 잘못된 경우
토큰을 이미 한번 재발급 받은 경우
로그인(엑세스 토큰) 확인
GET http://localhost/user/check
Request Header
Success Response: 200
Fail Response: 401 인증헤더가 없는 경우
토큰이 만료되었거나 변조된 경우