我遇到Azure AD v2身份验证端点(v2应用程序模型)的问题。我们的应用程序使用此端点并使用Outlook REST API。 我有两个测试帐户:
我已经构建了两种登录方式:
共有4个场景:
最后一个场景失败了,我们需要它才能运作。它使用与outlook.com场景完全相同的代码。首先我们 让用户登录webcontrol,然后用户接受权限,然后我们获得id令牌。
然后,我们使用它来获取Access令牌,对于带有AADSTS65005的Office 365,它失败:动态范围无效:应用程序......
请参阅下面的请求详情。
为什么呢?任何人都可以复制或请求帮助吗?
此致
的Jeroen
Request: https://login.microsoftonline.com/common/oauth2/v2.0/token
client_id=b75022be-f556-40ec-9785-c3639e65158b&
redirect_uri=urn:ietf:wg:oauth:2.0:oob&
code=CODE_REMOVED_FOR_EXAMPLE&
session_state=98fb6ce4-e219-4265-8347-cc64199895a8&
grant_type=authorization_code
响应:HTTP / 1.1 400错误请求
{
"error":"unauthorized_client",
"error_description":"AADSTS65005: Dynamic scope is invalid: application 00000000-0000-0000-0000-000000000000 does not exist. Request ID: 94cd9ca3-c376-4d94-854e-bfc4f7ac3161, Timestamp: 02/26/2016 14:06:55\r\nTrace ID: 727ebe28-e7e2-4817-87fc-5f94b637c00e\r\nCorrelation ID: e4c5a448-3ba4-4de6-aaa9-df2f9c501ca5\r\nTimestamp: 2016-02-26 14:06:55Z",
"error_codes":[65005],
"timestamp":"2016-02-26 14:06:55Z",
"trace_id":"727ebe28-e7e2-4817-87fc-5f94b637c00e",
"correlation_id":"e4c5a448-3ba4-4de6-aaa9-df2f9c501ca5"
}
答案 0 :(得分:2)
我解决了这个问题,似乎在https://login.microsoftonline.com/common/oauth2/v2.0/token的请求中也需要“scope =”参数。它现在有效。 有点奇怪的是,对于outlook.com,它也可以在没有这个参数的情况下工作。