Azure active directory Azure AD身份验证体验流

Azure active directory Azure AD身份验证体验流,azure-active-directory,Azure Active Directory,需要一些关于Azure AD的UI流是否可以自定义的指导,以便我们可以在身份验证之前基于UPN和Tenantid进行某种级别的授权 在我的应用程序的当前状态下,当它第一次启动时,会发生身份验证,然后是同意。身份验证流程完成后,应用程序将检查租户是否有资格获得访问权限(已授权),然后应用程序继续 当前流:身份验证>用户同意 请求的流:检查租户ID>验证访问>身份验证>用户同意 需要能够控制此流量,以便我们可以在验证之前验证用户的电子邮件地址,以确保用户可以访问应用程序。如果UPN未经授权,则基本上

需要一些关于Azure AD的UI流是否可以自定义的指导,以便我们可以在身份验证之前基于UPN和Tenantid进行某种级别的授权

在我的应用程序的当前状态下,当它第一次启动时,会发生身份验证,然后是同意。身份验证流程完成后,应用程序将检查租户是否有资格获得访问权限(已授权),然后应用程序继续

当前流:身份验证>用户同意

请求的流:检查租户ID>验证访问>身份验证>用户同意

需要能够控制此流量,以便我们可以在验证之前验证用户的电子邮件地址,以确保用户可以访问应用程序。如果UPN未经授权,则基本上不进行身份验证。目标是当应用程序在应用程序商店中可用,而任何想要控制登录体验的人都可以下载该应用程序时

对于Auth,我们使用MSAL。我们还有一个使用OpenID Connect的应用程序版本


感谢您的指导。

根据您的描述,在Azure AD上使用多租户应用程序时,您的要求是限制某些租户。恕我直言,Azure AD当前没有映射到多租户应用程序的租户允许列表的应用程序配置属性


解决方法是通过检查JWT令牌中的tenantID(tid)声明,在应用程序中自己的代码中执行验证。控制访问需要作为授权应用程序中用户的一部分进行,而不是在您的场景中进行身份验证之前。

根据您的描述,在Azure AD上使用多租户应用程序时,您的要求是限制某些租户。恕我直言,Azure AD当前没有映射到多租户应用程序的租户允许列表的应用程序配置属性


解决方法是通过检查JWT令牌中的tenantID(tid)声明,在应用程序中自己的代码中执行验证。控制访问需要作为授权应用程序中用户的一部分进行,而不是在您的场景中进行身份验证之前。

我想说这通常是不可能的,但在回答这个问题之前,我想提出以下问题:如果用户未登录,您将如何“检查租户ID”?您如何知道他们的租户id是什么?您可以做的一件事是使用特定于租户的登录端点,但这仅适用于单个租户应用程序,而不适用于多个租户。。。除非您为每个租户创建了不同的登录按钮。使用特定于租户的登录端点,来自其他租户的用户将被阻止登录,因为对于租户之外的用户,登录屏幕会显示“未找到用户”。感谢Shawn-提出的想法如下。。。A.建立将有权访问应用程序b的租户列表。向用户提供指定UPN c的表单。根据UPN确定租户ID,并根据列表d进行验证。如果检索到的TenantID在允许的租户列表中,请继续进行身份验证。这只会在应用程序首次启动时发生。我想说这通常是不可能的,但在回答这个问题之前,我想提出以下问题:如果用户未登录,您将如何“检查租户ID”? 您如何知道他们的租户id是什么?您可以做的一件事是使用特定于租户的登录端点,但这仅适用于单个租户应用程序,而不适用于多个租户。。。除非您为每个租户创建了不同的登录按钮。使用特定于租户的登录端点,来自其他租户的用户将被阻止登录,因为对于租户之外的用户,登录屏幕会显示“未找到用户”。感谢Shawn-提出的想法如下。。。A.建立将有权访问应用程序b的租户列表。向用户提供指定UPN c的表单。根据UPN确定租户ID,并根据列表d进行验证。如果检索到的TenantID在允许的租户列表中,请转至身份验证。此操作仅在首次启动应用程序时发生。