2017-03-11 4 views
0

Outlook 365アカウントを持つユーザーの連絡先やその他の情報にアクセスするはずのWebアプリケーションを開発しており、Office365アカウントへのoffline_accessに関する問題が発生しています。Office 365対Outlook OAuth2 offline_access refresh_token要求の不一致

最初の認証時にコードはうまく機能し、OutlookとOffice 365の両方のアカウントに必要なすべてにアクセスできます。

最初のアクセストークンの期限が切れた後に矛盾が表示されます。 Outlookのアカウントの場合は、アクセストークンを常に更新することができますが、Office 365アカウントの場合、「400 Bad Request」エラーで同じコードが失敗します。

アクセス権を更新するときにOffice 365のアカウントで何か別のものを実行する必要があるように感じますが、私は何を理解できません。ユーザーがOtlook vs. Office 365を使用したかどうかを確認する方法もわかりませんアカウント私は後でこれを理解することができます。

私が使用している権限のURLはhttps://login.microsoftonline.com/common/oauth2/v2.0/tokenで、OutlookとOffice 365では異なるはずですが、refresh_tokenリクエストを除いて、他のすべてのアカウントタイプで機能しているようです。

ありがとうございました! ありがとう!

+0

サンプルの更新要求を投稿できますか?たぶん、何が間違っているのか分かります。 –

+0

さて、ありがとう!今私は愚かだと感じますが、私は問題を解決しました。リフレッシュ要求で送信されたredirect_urlに自分のホスト名が含まれていないことが判明しました。面白いのは、outlook.comのアカウントでは、これは問題ではありませんが、Office365アカウントでは問題であるということです。奇妙な.... –

+0

ああ、はい、そこにURL全体を含めることをお勧めします。答えとして投稿する必要があります。 –

答えて

0

これは奇妙ですが、問題の解決方法は、リフレッシュトークン要求で使用されるredirect_urlパラメータが、ホスト名を含む登録済みのリダイレクトURLと正確に一致するようにすることです。

これは驚いたことに、Office 365アカウントとリフレッシュトークン要求のみに該当します。 OutlookとOffice 365の両方のアカウントの他のすべてのAPIは、指定されたリダイレクトURLを気にせず、代わりにアプリに登録されているものを使用するように見えます。

関連する問題