2016-10-17 9 views
0

私はVSTS REST APIを使用しています。指示どおりにリフレッシュトークンを使用してアクセストークンを更新します。今朝リフレッシュトークンが機能しなくなりました。彼らは期限が切れますか?アクセストークンとリフレッシュトークンの両方が期限切れになっている場合、どうすればよいですか?私はこれで何かを見つけることができません。参考のためVSTS API Refresh Tokens Expires

https://www.visualstudio.com/en-us/docs/integrate/get-started/auth/oauth#refresh-an-expired-access-token

+0

「https://youraccount.visualstudio.com/_details/security/oauth」から、承認が取り消されたかどうか、有効期限が確認できます。 –

+0

@ Eddie-MSFTこれらは名前空間に固有のようです。私が参照しているトークンは、アプリケーションがユーザーがアクセスできる任意の名前空間にアクセスできるようにします。それらは左側の「認証」の下にhttps://app.vsaex.visualstudio.com/me?mkt=en-US&campaign=o~msft~~usercardで見ることができます – scottndecker

答えて

2

はい、リフレッシュトークンが期限切れになり、あなたは(認可するあなたの前の手順を)アクセストークンを取得し、再びトークンリフレッシュするために再認証要求を送信する必要があります。

新しいアクセストークンを取得すると、以前のアクセストークンとリフレッシュトークンが期限切れになっています。

+0

ユーザーは再認証を見る必要がありますかもう一度「承認」をクリックしますか?または、元の認証コードを保存して再使用していますか?ありがとう! – scottndecker

+0

@scottndecker私のテストに基づいて、認証ページが再び来るので、私もAcceptボタンをクリックする必要があります。ありがとうございます; –

+0

;私はこれを実装し、それは動作します。それは非常に準最適ですが、私はMSが将来それを改善することを願っています。あなたの人生の他に、2番目(または3番目または4番目)の時間にアプリケーションにアクセスする必要があった場合は、ユーザーがカップルになるたびにログインすれば、毎回「同意する」をクリックする必要があります。それはまずいです。リフレッシュトークンは、もっと長く(10日以上)生存する必要があります。また、ユーザーが「承認」を再度クリックしなくても、新しいリフレッシュトークンを取得する方法が必要です。 – scottndecker

1

私はこの流れを実装するチームを管理します。 @starainからの回答は正しいです。このフローについては、OAuth 2仕様で詳しく説明しています。リフレッシュトークンが頻繁に無効になるというあなたの所見では、@scottndeckerは実装と一貫していません。システムのリフレッシュトークンのデフォルトの有効期間は1年間です。トークンは、ユーザーが手動で無効にすることもできます。明らかに、以前に許可された承認を取り消すユーザーの権利を尊重する必要があります。より多くの情報を共有したい場合は、この動作を確かめることができます。

+0

Chrisに感謝します。あなたが応答する時間を取っていただきありがとうございます。 1年の有効期限は非常に合理的に聞こえる。もう1つ質問:新しいアクセスまたはリフレッシュトークンが生成されたときにアクセスしてトークンを更新するかどうか例えば。システムがリフレッシュトークンを使用して新しいアクセストークンとリフレッシュトークンを取得した場合、期限切れになっていなくても古いアクセストークンとリフレッシュトークンは無効になりますか?私はアクセストークンについては信じていますが、リフレッシュトークンではわかりません。 – scottndecker

+1

@scottndeckerリフレッシュトークンも期限切れです。以前のリフレッシュトークンを持つ新しいアクセストークンを要求すると、Bad Requestが発生します(400)。 –

関連する問題