2

Django REST API バックエンドが動作しています。以前はセッション認証を使用していましたが、複数のサーバーにまたがるスケーリングのためにトークン ベースに移行したいと考えています。私はこれを数日間調査してきましたが、私の問題に対する答えが見つかりませんでした. アプリケーションに djangorestframework-jwt パッケージを追加しましたが、認証しようとすると常に次のように返されます。

{"non_field_errors":["Unable to login with provided credentials."]}

このエラーが発生している jwt パッケージを確認し、認証プロセスを通じてコードをたどることができます。認証プロセスにエラーはありません。これらの資格情報でユーザーを作成しようとすると、ユーザーが既に存在すると表示されるため、正しいユーザー テーブルにヒットしていることがわかります。acquire_jwt_token エンドポイントが資格情報を認証しない理由がわかりません。以下は、私の django アプリの関連セクションです。どんな助けでも大歓迎です。これを理解するのに役立つ何かを省略している場合は、お知らせください。アップロードします。ありがとう、

アプリ/settings.py

REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
    'rest_framework.permissions.IsAuthenticated',
    ),
'DEFAULT_AUTHENTICATION_CLASSES': (
    'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
    ),
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
'PAGE_SIZE': 100,}

アプリ/urls.py

urlpatterns = patterns('',
# Api
url(r'^api/', include(router.urls)),
url(r'^api/stats', statsviews.StatsView.as_view()),
url(r'^api/testing', statsviews.TestView.as_view()),
url(r'^api/login', 'rest_framework_jwt.views.obtain_jwt_token'),
url(r'^api/logout', logout, {'next_page': '/api/login'}),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
)

カールコマンド

curl -d "email=test@myemail.com&password=test123" http://webhost.mywebsite.com:8080/api/login/
4

2 に答える 2