トークン認証を使用しましたが、正常に機能しています。つまり、ユーザーを認証し、ユーザーがログインしています。ユーザーが認証されたユーザーであっても。以下は、私がログインしていることを示すスクリーンショットです (jadhav@gmail.com):
これのすぐ次のタブには、「認証の詳細が提供されていません」と表示されます。
誰かが何が悪いのか教えてもらえますか? わかりました、詳細を提供しています: これらは私の設定です:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated', )
}
これが私が認証した方法です:
クラス UserLoginAPIView(APIView):
permission_classes = [AllowAny]
serializer_class = UserLoginSerializer
def post(self, request, *args, **kwargs):
data = request.data
serializer = UserLoginSerializer(data=data)
if serializer.is_valid(raise_exception=True):
# new_data = serializer.data
if serializer.data:
user = authenticate(username=request.data['username'], password=request.data['password'])
login(request, user)
print("IsAuthenticated", user.is_authenticated)
token, _ = Token.objects.get_or_create(user=user)
return Response({'token': token.key},
status=HTTP_200_OK)
私が制限を置く別のビュー:
クラス BoardCreateAPIView(CreateAPIView):
queryset = Boards.objects.all()
serializer_class = BoardCreateSerializer
permission_classes = (IsAuthenticated,)