2016-11-23 3 views
2

私はAzure AD OAuth 2.0で遊んでいました。Microsoft Graphと個々のサービスAPIエンドポイント(Outlook REST APIなど)のアクセストークンを取得します。

有効範囲がhttps://outlook.office.com/mail.readのアクセストークンは、Microsoft Graphで使用すると401 Unauthorizedとなります。

同様に、スコープhttps://graph.microsoft.com/mail.readで取得したアクセストークンは、Outlook REST APIエンドポイントと共に使用すると401 Unauthorizedとなります。

また、ユーザーの承認時に両方のスコープについて言及すると、エラーが発生します。

Microsoft GraphとOutlook REST APIエンドポイントの両方にアクセスできるアクセストークンを使用することはできますか?

私は電子メールアプリケーションを構築しています。最初は、電子メールの同期/送信などの基本機能を構築します。

私は今必要なものすべてをサポートしており、個々のサービスAPIエンドポイントよりもMicrosoft recommends itをサポートしているので、私はMicrosoft Graphを使用します。

未来が心配です。現在取得するOAuthアクセストークンには、スコープhttps://graph.microsoft.com/mail.readが含まれています。将来的には、作成したい新機能はMicrosoft Graphではサポートされていないが、Outlook REST APIエンドポイントではサポートされる可能性があります。そのような時に私はOutlook REST APIエンドポイントを使いたいと思うでしょう。

すべてのユーザーに対して2セットのOAuthアクセストークンを維持する必要がありますか?また、すべてのユーザーに再認証を依頼するのは良い考えではありません。

答えて

6

はい、RefreshTokenを使用して、グラフアクセス(スコープ)を要求したときに認可されたスコープと同じスコープを持つ個々のエンドポイントにアクセストークンを取得できます。

など。 Mail.Read(略称https://graph.microsoft.com/mail.read)を要求した場合は、scope="https://outlook.office.com/mail.read"のrefresh_tokenを使用してトークン発行エンドポイントに戻り、このエンドポイントのアクセストークンを取得できます。

+0

ありがとうございました。それは素晴らしいニュースです! – Varun

関連する問題