2017-07-27 4 views
0

webapiプラットフォームが追加されたv2アプリ登録ポータルにアプリが登録されましたが、https://login.microsoftonline.com/common/oauth2/v2.0/authorizeエンドポイントを使用してAPIスコープで承認をリクエストすると、エラーコードAADSTS70002%3a+Error+validating+credentials。代わりに、私はグラフのAPIを使用して、すべての作品は、私は間違っていたか分からない!新しいv2エンドポイントに登録されたWebAPIは同意画面を表示しません

WEBAPIスコープの1:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=222db0-0305-4f86-96cc-d283da2f5020&response_type=code&redirect_uri=https%3A%2F%2Flocalhost%2Ftest&response_mode=query&scope=openid%20offline_access%20api%3A%2F%2Fc6599db0-0305-4f86-96cc-d283da2f5020%2Faccess_as_user

グラフAPIの1:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=222db0b0-0305-4f86-96cc-d283da2f5020&response_type=code&redirect_uri=https%3A%2F%2Flocalhost%2Ftest&response_mode=query&scope=openid%20offline_access%20https%3A%2F%2Fgraph.microsoft.com%2Fmail.read

EDITこれは混乱して

、今私が入れオフラインでオープンIDは終わりだが、別のエラーが出る:

AADSTS65005%3a+The+application+'v2app'+asked+for+scope+'openid'+that+doesn't+exist+on+the+resource.+Contact+the+app+vendor.

私が要求されたURLは次のとおりです。

https://login.microsoftonline.com/e0582222da8-ec2b-4c7a-b98e-2c417627657c/oauth2/v2.0/authorize?client_id=c6599db0-0305-4f86-96cc-d283da2f5020&response_type=code&redirect_uri=https%3A%2F%2Flocalhost%2Ftest&response_mode=query&scope=api%3A%2F%2Fc6599db0-0305-4f86-96cc-d283da2f5020%2Faccess_as_user%20openid%20offline_access

そして、私はこのエラーをGoogleの場合、there is one saying

As of today, the V2 Endpoint does not support API access other than the Microsoft Graph.

だから、これは達成可能ではないでしょうか?では、どうすればthe sampleが動作しますか?

EDIT 2

私が要求されたスコープクライアントIDを作るのであれば、それは動作します。..

+0

編集2で使用した作業URLを共有できますか? – schlenk

答えて

0

私はあなたのエラーを再現。 api%3A%2F%2Fc6599db0-0305-4f86-96cc-d283da2f5020%2Faccess_as_user(APIスコープ)の後openid%20offline_accessスコープを入れて、それは私の側に動作する場合は、試してください:あなたがリンクされMSALエラーがクライアントからWeb APIにアクセスしている

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=222db0-0305-4f86-96cc-d283da2f5020&response_type=code&redirect_uri=https%3A%2F%2Flocalhost%2Ftest&response_mode=query&scope=api%3A%2F%2Fc6599db0-0305-4f86-96cc-d283da2f5020%2Faccess_as_user%20openid%20offline_access 

更新することアプリケーションIDがdifferentで、v2.0エンドポイントではサポートされていません。 azure ad v2.0では、Web APIは同じアプリケーションIDを持つアプリケーションからのみトークンを受け取ることができます。これは、api:// xxxx-xxxx-xxx-xxx(web api url)を意味し、xxxx-xxxx-xxx-xxxの部分はクライアントアプリケーションのクライアントIDと同じ値を持ちます。これを実現するには、2つのプラットフォーム、1つのWebアプリケーション、1つのWeb APIを追加することができます。

+0

ありがとう、あなたのアドバイスを参考にして助けてもらえますか?あなたのアドバイス後にもう一度エラーが出る –

+0

つまり、同じアプリケーションのwebapp内のv2 hosted webapiだけを呼び出すことができます。 Windowsのユニバーサルアプリケーションやコンソールアプリケーション、または他のクラウドアプリケーションが、同じアプリケーションではない場合は失敗しますか?ありがとう! –

+0

@TOMMYWANGはい。 –

関連する問題