Windows Azure:用于外部访问的 AD 应用程序在令牌问题上抛出错误



我正在尝试构建一个AzureAD访问应用程序。我必须为外部租户启用此应用。我已在此应用程序上启用了外部访问,并且它也配置为使用图形 API。我已经在创建该应用程序的租户中测试了该应用程序,并且所有内容(身份验证+图形 api 访问(都可以正常工作。现在是外部租户的流程

    我将外部租户用户
  • 带到我的应用的授予同意 URL,该用户(作为外部租户的管理员(授予访问权限,我得到了正确的响应
  • 现在我想获取此用户的授权令牌,因此我通过以下方式引导用户完成正常的Oauth过程

    https://login.windows.net/common/oauth2/authorize
    

其次

    https://login.windows.net/common/oauth2/token/

此时,Azure 会引发以下错误

{"error":"invalid_grant","error_description":"AADSTS50000: There was an error issuing a 
token. AADSTS65005: No permission to access u0027https://graph.windows.netu0027 
resource is configured for u0027d2037ff7-24e4-4cac-8e5e-16e370b36238u0027 application, 
or it is expired or revoked.rnTrace ID: 472aa92f-35a2-4ed9-ab07-
12488cc9e6f5rnCorrelation ID: b163dde5-eac5-4c82-99ad-0e1100487cb9rnTimestamp: 2013-
09-23 05:28:41Z","error_codes":[50000,65005],"timestamp":"2013-09-23 
05:28:41Z","trace_id":"472aa92f-35a2-4ed9-ab07-12488cc9e6f5","correlation_id":"b163dde5- 
eac5-4c82-99ad-0e1100487cb9"}

为什么即使应用已被授予访问权限,也会出现此错误。我试图查找STS错误但找不到任何解释。有什么想法吗?

[更新]

SAML 进程继续适用于外部租户,但即我可以使用该应用程序进行此外部租户的 SAML(SSO( 登录。问题似乎只出现在访问图形 API 时。

尝试将&prompt=consent&prompt=admin_consent添加到完整的authorize URL 以重新请求用户同意。我的经验是,同意将被随机撤销(可能是错误(,并且永远不会自动重新请求(绝对是错误(。

最新更新