Django

[DRF] dj-rest-auth에 JWT 토큰 설정

알파파고 2025. 10. 25. 00:43
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