我尝试使用Azure AD oauth2从我的服务器访问sharepoint站点上的文件,我创建了具有此类权限的多租户Azure AD应用程序
在此之后我将通过标准的oauth2流程来获取令牌:
我将用户重定向到https://login.windows.net/common/oauth2/authorize?client_id=123XXXXXXXXf4d5d4512&response_type=code&redirect_uri=https%3A%2F%2FdXXXXXXX%2Foffice365_oauthcallback.html 当管理员用户登录时,一切顺利,但普通用户无法登录,他正在:
其他技术信息:
相关ID:d81a1cca-1c4f-4da1-9162-88ba74d57775
时间戳:2015-07-01 09:49:53Z
AADSTS90093:此操作只能由管理员执行。 退出并以管理员身份登录或与您联系 组织的管理员。
我认为他得到了这个因为不能使用某些权限
可以帮助我选择正确的权限,这样我就可以使用Azure AD oauth2普通用户进行授权,而不是仅限管理员。
我试图从应用程序中删除对Azure权限的访问权限并仅保留对sharepoint的访问权限,但结果我得到了
AADSTS65005:客户端应用程序已请求访问资源“00000002-0000-0000-c000-000000000000”。此请求失败,因为客户端未在其requiredResourceAccess列表中指定此资源。%0d%0aTrace ID%3a 97d7ddff-0eaf-487c-83be-e277970f9339%0d%0aCorrelation ID%3a dcf33c54-fb51-46d9-9ee5-09db8d425b0d% 0d%0aTimestamp%3a 2015-07-01 09%3a58%3a05Z
我试图关注https://social.msdn.microsoft.com/Forums/en-US/088c7f00-70ae-47ac-abe6-bdf6b5778468/aadsts65005-the-request-has-failed-because-the-client-has-not-specified-this-resource-in-its?forum=WindowsAzureAD并将& resorce = param作为sharepoint网站
https://login.microsoftonline.com/common/oauth2/authorize?client_id=123ae4 *** 5d4512& response_type = code& redirect_uri = https%3A%2F%2FdXXXXXXX%2Foffice365_oauthcallback.html& resource = https://SITE.sharepoint.com/DP/
因此我得到了这个
AADSTS50001:资源https://SITE.sharepoint.com/DP/不是 已注册该帐户。跟踪ID: b30da866-5a89-4962-9617-92a7cfe649b9相关ID: 48a5ef84-8211-4588-8339-05ba7154fbc6
我把& resorce = param作为sharepoint site DOmain
https://login.microsoftonline.com/common/oauth2/authorize?client_id=123ae4 *** 5d4512&安培; RESPONSE_TYPE =代码&安培; REDIRECT_URI = HTTPS%3A%2F%2FdXXXXXXX%2Foffice365_oauthcallback.html&安培;资源= https://SITE.sharepoint.com
得到了
其他技术信息:相关ID: 7f006d85-a72a-480f-b92e-0c706190f73e时间戳:2015-07-01 10:13:17Z AADSTS90093:此操作只能由管理员执行。 退出并以管理员身份登录或与您联系 组织的管理员。
我做错了什么?有没有办法通过Azure AD为普通用户制作oauth2,而不仅仅是管理员?
答案 0 :(得分:0)
我在此页面上找到了答案http://blog.beecomedigital.com/2015/06/08/aadsts90093-calling-principal-cannot-consent-due-to-lack-of-permissions/它包含您可以为AD App设置的所有权限,这些权限不需要管理员权限被接受。