Azure B2C 使用用户名登录?

Azure B2C sign in with username?

我是使用 B2C 自定义策略的新手,目前我正在尝试使用 SAML 设置与一个客户端的集成。该客户端将他们的 employeeId 作为 SAML 有效负载中的 ID 发送给我们。 我在使用电子邮件时得到了与 okta 的集成,但没有任何不同的运气。

这是我的技术资料在使用电子邮件帐户时的样子。

<TechnicalProfiles>
  <TechnicalProfile Id="MySAML2">
    <DisplayName>SAML Integration</DisplayName>
    <Protocol Name="SAML2" />
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="email" />
      ...
    </OutputClaims>
  </TechnicalProfile>
</TechnicalProfiles>

所以我试着把它改成这样

      <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="objectId" />

      <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />

      <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="name" />

      <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="key" />

但其中 none 到目前为止已经奏效。任何建议都会非常有帮助。谢谢

有 write-up 个映射 here

技术配置文件中的 RHS 是 SAML 名称。 LHS 是 B2C 名称。

因此,如果 SAML 正在发送名为“employeeId”的声明,则映射为:

<OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="employeeId" />

但您需要查看 SAML 属性以查看是否存在名为“employeeId”的声明。