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

我正在尝试构build一个AzureAD访问应用程序。 我必须为外部租户启用此应用程序。 我已经启用了这个应用程序的外部访问,它也被configuration为使用Graph API。 我已经在创build它的租户中testing了应用程序,并且所有内容(auth + graph api access)都可以正常工作。 现在这里是外部租户的stream程

  • 我把外部租户用户转到我的应用程序的授权许可URL,用户(外部租户的pipe理员)授予访问权限,我得到正确的回复
  • 现在我想获得这个用户的授权令牌,所以我通过正常的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.net\u0027 resource is configured for \u0027d2037ff7-24e4-4cac-8e5e-16e370b36238\u0027 application, or it is expired or revoked.\r\nTrace ID: 472aa92f-35a2-4ed9-ab07- 12488cc9e6f5\r\nCorrelation ID: b163dde5-eac5-4c82-99ad-0e1100487cb9\r\nTimestamp: 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错误,但没有find解释。 有任何想法吗?

[更新]

SAML过程继续为外部租户工作,但也就是说,我可以使用应用程序SAML(SSO)login这个外部租户。 这个问题似乎只是要访问graphicsAPI。

尝试在完整authorize URL中添加&prompt=consent&prompt=admin_consent以重新请求用户同意。 我的经验是,同意将被随机撤销(也许是一个错误),不会被自动重新请求(绝对是一个错误)。