我正在尝试使用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的应用标识符?资源的价值应该如何?非常感谢。
答案 0 :(得分:27)
此错误表示您在resource
参数中提供的字段为自己请求令牌。如果您确实想要获取client_id中指定的应用程序的令牌,则必须在资源字段而不是应用程序ID URI中传递client_id。此时您将收到自己的访问令牌。
或者,您可以提供已注册的Web API的应用程序ID URI或具有范围的其他资源来获取该资源的令牌(Microsoft Graph,Office API等)。