2

私のアプリケーションでは、ユーザーが正常にログインするとアクセストークンとリフレッシュトークンが返されます。アクセスおよびリフレッシュトークンの有効期限はそれぞれ10分と40分に設定されています。 (私は、これらの値のいくつかのより多くの研究を行う必要があります。これは単なるテストのためである)私は記事以下で説明する実装を使用新しいアクセストークンを取得するためにリフレッシュトークンを明示的に送信すべきですか? - JWT

http://www.svlada.com/jwt-token-authentication-with-spring-boot/

のは、私は10分後にサーバーに要求を起動するとしましょうアクセストークンが期限切れになっているので、401エラー応答を取得しています。

しかし、初心者では、新しいアクセストークンを取得するためにリフレッシュトークンを明示的に送信する必要があるかどうかを理解することは難しいです。もし私がそうする必要があれば、それをどうやって行うのですか?私はリフレッシュトークンを何として送るべきですか?ヘッダー?

または、アクセストークンが期限切れになってからサーバーが要求を拒否した場合、新しいアクセストークンを取得するために、リフレッシュトークン自体が自動的にサーバーに要求を送信する必要がありますか?

私はネット上で見つけたリソースからリフレッシュトークンの動作の性質を理解することが難しいと感じました。これらの質問について私に親切に説明してください。

答えて

6

はい、リフレッシュトークンを使用して新しいアクセストークンを取得します。

最初にアクセストークンを要求するときは、トークンエンドポイントにトークン要求を送信することから開始します。トークン要求は、要求ヘッダーにユーザー資格情報を持ついわゆるResource Owner Password Credentials Grantがある場合に開始されます。

grant_type=password&username=user1&passowrd=very_secret 

アクセストークンが期限切れの場合、新しいアクセストークンを要求する必要があります。この時点ではまだ有効な更新トークンを使用しているため、ユーザー資格情報はもう必要ありませんが、代わりに

grant_type=refresh_token&refresh_token=<your refresh token> 

を送信してください。 この方法では、クライアント側でユーザー資格情報を保存する必要はなく、ログイン手順を使用してユーザーを再度気にする必要はありません。 有効期限が分かっているので、access_tokenが期限切れになる前に、トークンをリフレッシュするメカニズムを実装することもできます。

また、トピックの詳細については、これを読むことができます:以下のチュートリアルでhttps://auth0.com/learn/refresh-tokens/

も郵便配達でリフレッシュトークンを使用する方法のスクリーンショットです:http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-web-api-2-owin/(ステップ6にスクロールダウン) 一般的に私ができますTaiseer Joudehのチュートリアルを読むことをお勧めします。 C#の場合、ASP.NET uand Angularプログラマ

+0

私は、郵便配達員のようなツールを使って更新トークンをどのように送信すればよいかのヒントを得ることができます。サーバーはどのように実装されているかによって異なりますか? – vigamage

+0

私は私の答え、espにいくつかの情報を追加しました。郵便配達員 – jps

+0

のリフレッシュトークンの処理についても説明したチュートリアルへのリンクは、これがあなたの質問に答えたのか、それとも何か不明な点は何ですか? – jps

関連する問題