asp.net 具有 Azure AD 身份验证的核心 - 处理需要用户分配设置



我有一个 Asp.Net Core 2.1 Web应用程序,它使用Azure AD对用户进行身份验证。应用程序最近在 AAD 中设置了"需要用户分配"选项,以便仅对某些用户进行身份验证才能使用该应用程序。尽管我现在希望为在 AzureAD 中拥有帐户但尚未分配给应用程序的用户提供更好的用户体验,但这可以正常工作。我遇到的问题:

  • 对于尚未分配的用户,将命中 OnRemoteFailure 事件。我可能会解析失败消息并查找诸如"未为登录用户分配应用程序的角色"之类的文本,并将用户定向到相应的错误页面。这是处理这个问题的最佳方法吗?我看不到任何其他数据来区分这种类型的响应?

  • 某些用户将有两个 Azure AD 帐户,其中一个帐户可能分配给应用程序,另一个未分配给应用程序。如果他们登录到无权访问应用程序的 Azure 帐户,则每次单击"登录"都会将他们直接带回网站和"未经身份验证"页面。理想情况下,用户需要有机会使用其其他AD帐户登录,而不必清除其浏览器cookie来重置内容。我不确定我会怎么做?

对于第二部分,我发现添加:

options.Prompt = "select_account";

services.Configure<OpenIdConnectOptions>(AzureADDefaults.OpenIdScheme, options =>

已经完成了这个技巧,并允许用户切换帐户

最新更新