djangorestframe work-simplejwt에서 JWT의claim을 사용자 정의하는 방법

4907 단어 djangoPythontech
djangorestframe work-simplejwt는 JWT의claim을 사용자 정의하는 방법입니다.

개요


두 가지 설명.
(1) Claim을 사용자 정의하는 클래스를 만들고 토큰을 생성합니다.
(2) 토큰에서 사용자 획득

(1) Claim을 사용자 정의하는 클래스를 만들고 토큰을 생성합니다.


from rest_framework_simplejwt.serializers import TokenObtainPairSerializer


class CustomJwtToken(TokenObtainPairSerializer):
    @classmethod
    def get_token(cls, user):
        token = super().get_token(user)

        # ここで追加したいキーを設定し、データを代入
        token['custom_key'] = user.custom_key
	
	# 最後トークンを返す
        return token

# ユーザーからJWTトークンを返す。
def create_jwt(user):
    token = CustomJwtToken.get_token(user)
    
    #アクセストークンを返す
    return token.access_token

(2) 토큰에서 사용자 획득


from rest_framework_simplejwt.authentication import JWTTokenUserAuthentication
from rest_framework_simplejwt.authentication import JWTAuthentication

token = create_jwt(user)

jWTTokenUserAuthentication = JWTTokenUserAuthentication()
jWTAuthentication = JWTAuthentication()
try:
    user_token = jWTTokenUserAuthentication.get_user(jWTAuthentication.get_validated_token(str(token)))
except:
    #ユーザー を取得できなかった時の対応
    
#ユーザー情報の取得
user = user.token
print(user["user_id"])
print(user["custom_key"])

djangorest frame work-simplejwt의 설치 방법은 여기서부터 시작합니다.
https://zenn.dev/kiiimii/articles/b1766f4beba958

좋은 웹페이지 즐겨찾기