OAuth 2.0和Azure Active Directory - 错误AADSTS90009

时间:2017-02-02 15:46:02

标签: azure oauth-2.0 azure-active-directory

我正在尝试使用OAuth 2.0和Azure AD授权访问我们的Web应用程序。指南here

用户被重定向到类似的网址:

https://login.microsoftonline.com/common/oauth2/authorize?
    client_id=d220846b-1916-48d2-888b-9e16f6d9848b&
    response_type=code&
    response_mode=query&
    state=[secure-random]&
    redirect_uri=[my_uri]&
    resource=[my app ID uri taken from app settings]

然后我收到以下错误:

  

AADSTS90009:应用程序'd220846b-1916-48d2-888b-9e16f6d9848b'是   为自己请求令牌。仅在支持此方案时才支持   使用基于GUID的应用程序标识符指定资源。

这个描述并没有真正帮助我。我已经检查了这个thread,但我还是迷路了。

这个错误是什么意思,哪个是基于GUID的应用标识符?资源的价值应该如何?非常感谢。

1 个答案:

答案 0 :(得分:27)

此错误表示您在resource参数中提供的字段为自己请求令牌。如果您确实想要获取client_id中指定的应用程序的令牌,则必须在资源字段而不是应用程序ID URI中传递client_id。此时您将收到自己的访问令牌。

或者,您可以提供已注册的Web API的应用程序ID URI或具有范围的其他资源来获取该资源的令牌(Microsoft Graph,Office API等)。