我们有一个 SaaS 应用程序,其中我们的 IDP 是 Azure B2C。
我们使用 Azure B2C 来允许企业 SSO 与外部联合 (SAML)。使用 B2C 需要为每个企业公司设置一个 ClaimsProvider。这确实暴露了 PartnerEntity。
示例(索赔技术简介):
<TechnicalProfile Id="Contoso-SAML2">
<DisplayName>Contooso</DisplayName>
<Description>Login with your AD FS account</Description>
<Protocol Name="SAML2"/>
<Metadata>
<Item Key="RequestsSigned">false</Item>
<Item Key="ResponsesSigned">false</Item>
<Item Key="WantsEncryptedAssertions">false</Item>
<Item Key="PartnerEntity">https://login.microsoftonline.com/..tenantid../federationmetadata/2007-06/federationmetadata.xml?appid=..appid..</Item>
</Metadata>
<CryptographicKeys>
<Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SAMLSigningCert"/>
</CryptographicKeys>
...
</TechnicalProfile>
我们正在尝试创建一种通用的联合策略,其中合作伙伴实体是通用的 - 而不是为每个外部联合合作伙伴添加一个技术配置文件。
示例:
<ClaimsProvider>
<DisplayName>SAML</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="Contoso-SAML2">
<DisplayName>SAML</DisplayName>
<Description>Login with your AD FS account</Description>
<Protocol Name="SAML2"/>
<Metadata>
<Item Key="RequestsSigned">false</Item>
<Item Key="ResponsesSigned">false</Item>
<Item Key="WantsEncryptedAssertions">false</Item>
<Item Key="PartnerEntity"> what to add here for generic ??? </Item>
</Metadata>
<CryptographicKeys>
<Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SAMLSigningCert"/>
</CryptographicKeys>
...
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
如何配置此处添加的通用内容??? ?
如果您想使用单个技术配置文件支持与任何 Entra ID 租户的 SAML 联合,则实体 URL 为 https://login.microsoftonline.com/common/FederationMetadata/2007-06/FederationMetadata.xml(取自从这里)。
如果您想使用单一技术配置文件支持 SAML 联合到任何任意 SAML IdP,那么遗憾的是您不能。
每个身份提供商都将拥有自己的 SAML 元数据端点,这就是您在
PartnerEntity
中配置的内容。如果您的所有 IdP 都具有相同的元数据端点,那么您只有一个 IdP,因此您只需要一份技术配置文件。
如果您想要定义由所有 IdP 共享的通用技术配置文件,并希望能够为每个仅设置
PartnerEntity
的 IdP 添加新的技术配置文件,那么您可以使用 IncludeTechnicalProfile
:
<TechnicalProfile Id="Idp-Saml-Base">
<DisplayName>Common</DisplayName>
<Protocol Name="SAML2"/>
<Metadata>
<Item Key="RequestsSigned">false</Item>
<Item Key="ResponsesSigned">false</Item>
<Item Key="WantsEncryptedAssertions">false</Item>
</Metadata>
<CryptographicKeys>
<Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SAMLSigningCert"/>
</CryptographicKeys>
...
</TechnicalProfile>
<TechnicalProfile Id="Idp-Contoso">
<DisplayName>Contoso</DisplayName>
<Description>Login with your AD FS account</Description>
<Metadata>
<Item Key="PartnerEntity">https://login.microsoftonline.com/..tenantid../federationmetadata/2007-06/federationmetadata.xml?appid=..appid..</Item>
</Metadata>
<IncludeTechnicalProfile ReferenceId="Idp-Saml-Base" />
</TechnicalProfile>
我也有同样的问题。对于 PartnerEntity,可以使用 entraID 企业应用程序的合作伙伴 saml 元数据 url 的值。 现在我们希望管理具有相同技术配置的其他合作伙伴。 我尝试使用通用值修改 PartnerEntity https://login.microsoftonline.com/common/FederationMetadata/2007-06/FederationMetadata.xml 但测试它时,我们得到了“AADB2C:发生异常”。没有更多细节。 还有别的事要做吗? 谢谢你。