O365许可流程中的身份验证和权限错误

时间:2014-07-11 22:33:46

标签: ms-office office365

我正在使用典型的OAuth 2流程,并派出人员对O365样本中显示的模式进行身份验证:

https://login.windows.net/common/oauth2/authorize?response_type=code&client_id={0}&resource={1}&redirect_uri={2}&state={3}

通常,当用户跟踪指向该网站的链接时,它会要求他们登录,但不要求他们向该应用授予权限,而是将其重定向回我们的网站:

error: access_denied

error_description: "AADSTS50020: Calling principal cannot consent due to lack of permissions.\r\nTrace ID: fb1d1e6a-d339-4cba-9c99-b53b50e921a5\r\nCorrelation ID: ac7ef3f1-e8eb-4b0a-b413-e186faf2892c\r\nTimestamp: 2014-07-11 22:11:27Z"

为什么要这样做,我该怎么做才能解决它?

谷歌搜索“由于缺乏权限而致电委托人不能同意”没有提出任何建议。

2 个答案:

答案 0 :(得分:1)

我认为相关用户无权同意您的client_id(应用/网站)所需的权限。

示例

客户ID为xxxx的网站/应用需要以下权限

Sharepoint:“完全控制所有网站集。”

如果非网站集管理员登录,则会返回“AADSTS50020:由于缺少权限而无法同意调用主体”错误。原因是用户无法同意他们自己无法访问的内容。

这只是一个示例,但对于任何资源的任何权限都应该为真。

答案 1 :(得分:0)

之前我遇到过此问题,我通过转到您的Azure AD并检查相关应用是否具有相应的同意来解决此问题。您可以找到有关如何执行此操作的指南here。 我希望有所帮助。