私はバックエンドにdjango restingフレームワークを使用しており、フロントエンドに反応します。クライアントにログインする際に、完全に認証された後にJSONトークンを受け取るように、フロントエンドを設定しました。しかし、私のバックエンド、特にAPIはこのJSONトークンを受け取っていません。 homeviews.home、私のAPI(stocks_api、accounts_api、およびgroups_api)はR '^' 内にネストされていないので、私は問題のように感じる私のドメインのすべての部分がローカルストレージにアクセスできるようにJWTをローカルストレージに保存するにはどうすればよいですか?
router = SimpleRouter()
router.register(r'accounts', accountsviews.UserViewSet, 'list')
router.register(r'groups', accountsviews.GroupViewSet)
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^message/', homeviews.message, name="message"),
url(r'^stocks_api/', stocksviews.StockList.as_view()),
url(r'^passwordreset/', homeviews.passwordreset.as_view(), name='passwordreset'),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^api-token-auth/', obtain_jwt_token),
url(r'^api-token-refresh/', refresh_jwt_token),
url(r'^api-token-verify/', verify_jwt_token),
url(r'^reset/done/$', passwordviews.reset_done, name='password_reset_done'),
url(r'^reset/(?P<token>[\w:-]+)/$', passwordviews.reset,
name='password_reset_reset'),
url(r'^', include(router.urls)),
url(r'^', homeviews.home, name='home'),
]
urlpatterns = format_suffix_patterns(urlpatterns)
次のようになります。ここでは
は私のURL confには、次のようになります。もしそうなら、私はどのようにURLを特定するだけではなく、JWTをグローバルにするのでしょうか?
ので、これは、クライアント上でJWTトークンを保存するための私のコードは次のとおりです。 localStorage.setItem(「JWT」、JWT)あなたが一緒にトークンを渡す必要があり – PeepingHog
それを必要とするすべての要求。したがって、認証が必要な新しいリクエストを作成するときは、ローカルトークンをヘッダ、POSTまたはGETパラメータに追加するだけです。それをサーバーで読み取って確認します。トークンは、クッキーに格納されていない場合は渡されません。 – Iansen
jwtがクッキーとして保存されるように設定しました。今はapiページに表示されています。質問は、jwtを使用して私のAPIの認証を設定する場合、どうすればいいのですか?私がDRF用に設定したデフォルトの認証クラスは 'rest_framework_jwt.authentication.JSONWebTokenAuthentication'です。クッキーをデコードしてJWTをデコードするカスタムのものを作る必要がありますか? – PeepingHog