繁体   English   中英

Azure Active Directory登录:Web应用程序权限,未触发用户同意

[英]Azure Active Directory Login: Web App Permissions, User Consent not triggered

目前,我已经建立了一个AAD实例,并且正在通过我的Web应用对其用户进行身份验证,并且该实例运行良好。

在AAD上添加和配置应用程序后,我添加了访问Office365 Calendar API所需的应用程序和委派权限。 但是,唯一缺少的是,在登录流程期间,系统不会提示用户授予权限许可,因为这应该是我在您的文档中看到的: https//msdn.microsoft.com /zh-CN/library/azure/dn132599.aspx#BKMK_Consent

我不确定我缺少什么。 显然,从文档中

用户登录后,Azure AD将确定是否需要向用户显示同意页面。 该确定基于用户(或其组织的管理员)是否已授予应用程序同意。 如果尚未授予同意,Azure AD将提示用户同意并显示其运行所需的权限。 同意对话框中显示的权限集与在Azure管理门户中的“其他应用程序的权限”控件中选择的权限集相同。

因此,也许我已经以某种方式暗中授予了这些权限的管理员同意,但是我不知道那是怎么发生的。

我已附加在AAD应用程序上配置的权限。

权限-1权限2权限3

任何帮助,将不胜感激。

如果管理员使用AUX门户(manage.windowsazure.com)在其租户中创建一个应用程序,并请求对其他应用程序的权限,则该租户中已预先同意了该租户中的用户。 请注意,对于我们的其他应用程序注册门户(portal.azure.com或identity.microsoft.com),此行为不正确

我相信这就是为什么当您的租户中的用户登录到您的应用程序时,您不会看到同意对话框的原因。 如果您想推动同意对话的经验,可以做一些不同的事情:

  1. 您可以使用查询字符串在登录过程中提示“同意”或“ admin_consent”。 在这里检查: https : //msdn.microsoft.com/en-us/library/azure/dn645542.aspx
  2. 您可以使用AAD PowerShell从租户中删除应用程序的服务主体。 您可以在此处了解如何执行此操作: https : //msdn.microsoft.com/zh-cn/library/azure/dn194113.aspx
  3. 您可以让另一个租户的用户尝试登录到多租户应用程序。
  4. 您可以使用非管理员帐户创建应用程序。

我希望这有帮助!

肖恩·塔布里兹(Shawn Tabrizi)

尝试这个:

Windows Azure AD租户应用程序oAuth 2.0规范中的Resource参数是什么

将资源参数更改为https://graph.windows.net对我有用。

此外,Microsoft支持建议禁用除“启用登录并读取用户的配置文件”之外的所有权限,这显然是为了避免与权限相关的问题。 我了解这不是您的解决方案,但至少可以为您提供一个测试案例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM