Drf simple JWT - Customizing token claims
장고 심화 강의를 듣던 중 강의 영상에 나온 공식문서와 현재의 공식문서가 다른 부분이 있어,
현재 공식문서의 방식으로 토큰을 커스터마이징 해보았다.
↓ 강의 영상 ↓ 현재 공식 문서
token claims Customizing에 관한 공식 문서 - Simple JWT Customizing token claims
1. serializer.py에 CustomTokenObtainPairSerializer생성
token에서 email 필드를 확인할 수 있도록 get_token() 메소드를 오버라이딩 해주었다.
get_token() 메소드는 우리가 만든
CustomTokenObtainPairSerializer의 부모 클래스인
TokenObtainPairSerializer의 부모 클래스인
TokenObtainSerializer안에 작성되어 있다.
2. url추가하기
이때, rest_framework_simplejwt.views에 있는 TokenObtainPairView를 as_view()로 사용
TokenObtainPairView는 simplejwt의 내장 view인데 이걸 view로 지정하면
방금 만든 CustomTokenObtainPairSerializer는 아무런 의미가 없다고 생각할 수 있다.
그러나 TokenObtainPairView는 함수 내부에서 _serializer_class로
api_settings의 TOKEN_OBTAIN_SERIALIZER를 호출한다.
3. 프로젝트 세팅 변경해주기
이제 settings.py에서 SIMPLE_JWT 설정에 TOKEN_OBTAIN_SERIALIZER를 어떤 것으로 할 것인지 추가해준다.
지금의 경우 users.serializers 경로에 있는 CustomTokenObtainPairSerializer를 지정하면 된다.
4. 확인하기
jwt.io에 들어가서 email claims가 추가되었는지 확인해보면 된다.
제대로 들어가 있는 것을 확인할 수 있다.
'Python > Django' 카테고리의 다른 글
Django restframework 프로젝트 세팅과 진행 (0) | 2023.04.28 |
---|---|
미리 알려주지만, 이 글을 클릭하지 않으면 당신의 프로젝트는 위험합니다! (8) | 2023.04.26 |
Serialization, Parse (0) | 2023.04.20 |
DJANGO 심화 (3) | 2023.04.18 |
django 기초부터 다시 1 (0) | 2023.04.12 |
댓글