为 Azure B2C 中的 SAML 联合提供通用 PartnerEntity

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

我们有一个 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>

如何配置此处添加的通用内容??? ?

azure-ad-b2c saml federation
2个回答
0
投票

如果您想使用单个技术配置文件支持与任何 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>

-1
投票

我也有同样的问题。对于 PartnerEntity,可以使用 entraID 企业应用程序的合作伙伴 saml 元数据 url 的值。 现在我们希望管理具有相同技术配置的其他合作伙伴。 我尝试使用通用值修改 PartnerEntity https://login.microsoftonline.com/common/FederationMetadata/2007-06/FederationMetadata.xml 但测试它时,我们得到了“AADB2C:发生异常”。没有更多细节。 还有别的事要做吗? 谢谢你。

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