バックエンドで Django Rest Framework を使用し、フロントエンドで ember-cli アプリを使用しています。認証は正しく機能していますが、承認のどこかに穴があるようです。
# settings.py
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.AllowAny',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
}
# views.py
class CurrentUserView(APIView):
"get the data for the current authenticatd user"
permission_classes = (IsAuthenticated,)
def get_queryset(self, request):
queryset = User.objects.filter(username=request.user.username)
return queryset
def get(self, request):
serializer = UserSerializer(request.user)
return Response(serializer.data)
このエンドポイント/v1/me/
にリクエストを送信すると、403 が返されます。許可クラスを外すと、自分が{"id":null,"username":"","is_active":false}
誰であるかがわからないため、返されます。
また、ブラウズ可能な API を使用すると、/v1/me
URL は正しく機能します。
Ember側では、自分のアカウントでログインし、トークンを正しく取り戻しました. リクエストでAuthorization: Token asdf1234asdf1234asdf1234
は、 が渡されています。Django がそのトークンを受け取り、私が誰であるかを知っていると思いますか? 何か不足していますか?