0

次の GET を使用して、Office365 Azure テナントのユーザーの OpenId UserInfo エンドポイントにアクセスしようとしています。

GET https://login.windows.net/common/openid/userinfo HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJ(...remainder deleted for brevity...)
Host: login.windows.net

応答は「400 Bad Request」で失敗し、より具体的なエラー「AADSTS50063: Credential parsing failed. AADSTS90010: JWT tokens cannot be used with the UserInfo endpoint」が表示されます。

HTTP/1.1 400 Bad Request
Cache-Control: no-cache, no-store
Pragma: no-cache
Content-Type: text/html
Expires: -1
Server: Microsoft-IIS/8.5
x-ms-request-id: ef5c8a50-69b5-40f1-ac5f-9c0fc5180aa2
x-ms-gateway-service-instanceid: ESTSFE_IN_6
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000; includeSubDomains
P3P: CP="DSP CUR OTPi IND OTRi ONL FIN"
WWW-Authenticate: Bearer correlation_id="e5c613a0-0a21-40e1-9ef6-    eacf77580608", error="invalid_request", error_codes="[50063, 90010]",     error_description="AADSTS50063: Credential parsing failed. AADSTS90010: JWT tokens cannot be used with the UserInfo endpoint.%0d%0aTrace ID: ef5c8a50-69b5-40f1-ac5f-9c0fc5180aa2%0d%0aCorrelation ID: e5c613a0-0a21-40e1-9ef6-eacf77580608%0d%0aTimestamp: 2015-02-20 14:13:42Z", timestamp="2015-02-20 14:13:42Z", trace_id="ef5c8a50-69b5-40f1-ac5f-9c0fc5180aa2"
Set-Cookie: x-ms-gateway-slice=productionb; path=/; secure; HttpOnly
Set-Cookie: stsservicecookie=ests; path=/; secure; HttpOnly
X-Powered-By: ASP.NET
Date: Fri, 20 Feb 2015 14:13:40 GMT
Content-Length: 0

使用されるベアラー トークンは、Exchange メールの取得など、他の操作で正常に機能する、有効期限が切れていないアクセス トークンです。

さらに、" https://www.googleapis.com/plus/v1/people/me/openIdConnect "で openid userinfo エンドポイントに同一の GET を使用すると(gmail アクセス シナリオの一部として)、正常に動作します。

私はここで何か悪いことをしていますか? 助けてくれてありがとう!

追加情報:

-すでにaccess_tokenの代わりにid_tokenを使用しようとしましたが、これは違いはありません.

-使用される Oauth スコープは「プロファイル メール」です。

-要求されたリソースは「https://outlook.office365.com/」です

- クライアント アプリケーションはネイティブ アプリであり、"Windows Azure AD" と "Office 365 Exchange Online" の両方に対してすべての委任されたアクセス許可が有効になっています。

4

1 に答える 1