사용자 정의 사용자가 django-rest_framework_simple-jwt를 사용하여 사용자를 인증하려고 할 때 빠진 이야기

오류가 나왔다! !



DjangoREST Framework의 프로젝트에 djoser를 도입하고, api/auth/jwt/create에 대해 POST해도 토큰이 발행되지 않고, 무엇인가라고 생각하고 일단 콘솔에 액세스해 액티브한 유저로 POST했는데, 이하와 같이 오류가 발생했습니다.
"detail": "No active account found with the given credentials"

주어진 정보에서 활성 사용자를 찾을 수 없습니다! 그래서 곧 오류 문으로 구그를 보면 다음 기사가

Django drf simple-jwt authentication“detail”: “No active account found with the given credentials”

아무래도 패스워드가 DB에 들어가기 전에 해시화되어 있지 않고, 시리얼라이저에 이하를 추가하면 제대로 움직여 주는 모습.
그래서 이 기사 안에 있는 함수를 추가.

serializers.py
from django.contrib.auth.hashers import make_password #追加
from djoser.serializers import UserSerializer

from .models import User

class CustomUserSerializer(UserSerializer):
    """
    ユーザー情報獲得のためのシリアライザー
    """
    class Meta:
        model = User
        fields = '__all__'

  # 追加
    def validate_password(self,value:str) ->str:
        """
        ハッシュ値に変換する
        """
        return make_password(value)

그러면 ...



무사한 토큰이 발행되었습니다.

빠졌을 때는 깜짝 놀랐습니다만, 정말 꽤 좋았습니다.

좋은 웹페이지 즐겨찾기