在多租户 Azure AD 应用程序中配置的自定义 SAML 声明不会复制到另一个租户中的此应用程序

问题描述 投票:0回答:1

我们正在使用 WS-Federation 对应用程序的用户进行身份验证。到目前为止,我们使用单租户应用程序,通过应用程序注册在 Azure AD 中创建。我们的应用程序期望获得

user.employeeid
属性作为 SAML 声明,并在 企业应用程序 刀片中的相应应用程序中进行配置(单点登录 > 属性和声明)。在应用程序清单(在应用程序注册中)中,
acceptMappedClaims
设置为 true,以使其正常工作。

上面的配置工作正常,现在我们要切换到多租户,在应用程序代码中我们将有效的发行者设置为租户 AAA 和 BBB,其中 AAA 是原始的。

当我以 BBB 用户身份登录时,在我同意该应用程序后,

employeeid
声明不会返回。在检查同意后在 BBB 中创建的企业应用程序时,我发现自定义声明丢失,我必须手动添加它。之后就可以完美运行了。

手动添加声明对我来说并不是一个大问题,但我很好奇它是否按照设计那样工作?我是否必须手动将此类声明手动添加到我想要授予访问权限的每个租户,或者也许我遗漏了某些内容,并且有一种方法可以自动复制此类自定义声明?

azure-active-directory multi-tenant ws-federation azure-app-registration
1个回答
0
投票

我创建了一个 Azure AD 多租户应用程序:

enter image description here

配置的 SAML 声明:

enter image description here

当我使用家庭租户用户登录时,索赔显示如下:

https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?client_id=ClientID&response_type=token&redirect_uri=https://jwt.ms&scope=api://xxxx/access_as_user&state=12345&nonce=12345

enter image description here

当我使用其他租户用户登录时,访问令牌不包含 SAML 声明

enter image description here

注意默认情况下,自定义声明是特定于租户的。如果在租户 A 应用程序中配置声明,则只会为租户 A 用户添加声明,而不是其他租户用户。

  • 您在一个租户中配置的自定义声明可能在另一个租户中不可用,因为每个租户都有自己的一组声明和属性映射。

因此您必须手动在其他租户中创建的企业应用程序中添加声明,并且它无法自动化

我在另一个租户中创建的企业应用程序中添加了自定义声明:

enter image description here

现在,当我尝试使用 另一个租户用户登录时,访问令牌包含 SAML 声明:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.