728x90
JWT토큰 설정을 했는데 리프레시 토큰만 반환을 안한다?
프로젝트에 dj-rest-auth 를 적용시키는 과정에서 인증 요청 시 응답에 리프레시 토큰이 포함되지 않는 문제
시도 1: settings 설정
REST_USE_JWT = True
결과: ❌ 블로그글을 참고했는데 옛날버전 기준에서 작성됐던 글이였음
시도 2:
REST_AUTH = {
'USE_JWT' : True,
'JWT_AUTH_HTTPONLY': False,
}
결과: ❌ 최신버전에서는 관련설정이 하나로 묶였다. 그런데 우리는 jwt 토큰을 사용하지만 자꾸 'rest_framework.authtoken' 을 추가하라는 에러메시지가 나온다. 또한 httponly 를 false로 해주면 액세스와 리프레스 토큰 모두 respone로 응답을 받을 수 있지만 httponly는 보안상 이유로 True 설정하는게 일반적이다
시도 3: 공식문서를 찾아본 결과
REST_AUTH = {
'USE_JWT': True,
'TOKEN_MODEL': None,
'JWT_AUTH_REFRESH_COOKIE': 'refresh_token',
}
결과: ✅
해결
TOKEN_MODEL = None
토큰모델의 경로다. 기본값은 rest_framework.authtoken.models.Token 이다. None 설정했다면 SESSION_LOGIN또는USE_JWT 을 하나 이상 활성화 해야한다.
'USE_JWT' = True
기본토큰 또는 세션 대신 JWT를 사용하겠다는 의미다.
JWT_AUTH_REFRESH_COOKIE = 'refresh_token'
jwt 인증을 위한 쿠키이름을 설정한다. 리프레시 토큰을 쿠키에 담아서 보낸다
728x90
'Django' 카테고리의 다른 글
| [django] JWT 인증 실패 (0) | 2025.02.14 |
|---|---|
| [Django] DRF JWT 인증 구현 (0) | 2025.02.13 |
| [django] migrate 했을 때 'No migrations to apply' (0) | 2024.07.10 |
| [django] 페이징처리 (0) | 2024.06.12 |
| star-rating-svg을 사용한 별점 기능 (0) | 2024.06.07 |