[AADSTS65001]:用户或管理员未同意使用该应用程序

时间:2017-06-12 21:39:06

标签: c# adal

我正在编写一个测试应用程序,该应用程序使用AAD获取获取令牌,并且此调用成功为一个用户使用TenantId" abc"但是对于另一个使用tenantId" xyz"信息:

  

用户或管理员未同意使用该应用程序   身份证f5986c14-cdb9-4e68-a89e-119d15b33afc。发送互动   对此用户和资源的授权请求。

请注意:

  1. 我在AAD中创建了一个本机应用程序

  2. 我已将来自其他租户的用户添加到目录的用户列表中作为用户角色,并且我们还将本机应用的权限授予了windows azure管理门户{{3中的目录中的所有用户}}

2 个答案:

答案 0 :(得分:3)

xyz域名公司的IT管理员(email@xyz.onmicrosoft.com)必须代表整个公司表示同意,以便该公司的用户能够使用您的应用程序。这是一个非常好的流程示例:

https://blog.mastykarz.nl/implementing-admin-consent-multitenant-office-365-applications-implicit-oauth-flow/

答案 1 :(得分:2)

无论是本机应用程序还是Web应用程序,如果要启用其他租户上的用户都可以使用该应用程序,则应用程序需要先获得同意。您在帖子中链接的数字仅授予应用注册的租户许可。

AidaNow已经使用adal.js提供了管理员同意。我们还可以使用prompt参数发出HTTP请求以轻松授予管理员同意。以下是您的参考请求(参考this link):

https://login.microsoftonline.com/common/oauth2/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=code
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&response_mode=query
&resource=https%3A%2F%2Fservice.contoso.com%2F
&state=12345
&prompt=admin_consent

有关同意的更多详细信息,请参阅以下文档:

How to sign in any Azure Active Directory (AD) user using the multi-tenant application pattern