【问题标题】:How to generate Display Name with Given name and Surname, in azure B2C built-in policies?如何在 azure B2C 内置策略中生成具有名字和姓氏的显示名称?
【发布时间】:2020-12-09 09:04:04
【问题描述】:

我在我的应用程序中使用 azure b2c 注册策略(内置策略)。在那里,我们有三个字段。

  1. 显示名(基本上等于名 + 姓)
  2. 名字
  3. 姓氏

就我而言,我想从用户流中删除此显示名称。但是一旦我删除它,在 B2C 中,用户的名称是“未定义”。

有没有什么方法可以在不询问显示名称的情况下生成带有名字和姓氏的显示名称?

(我使用的是内置用户流)

【问题讨论】:

  • 您是否正在寻找一种通过在令牌本身中结合名字和姓氏来返回显示名称(名称声明)的方法..?
  • @Raghavendra-MSFTIdentity 是的,先生。在 B2C 中,名称将为“未定义”。但如果我能在令牌中获得“显示名称”,那就太好了。

标签: azure azure-ad-b2c


【解决方案1】:

在内置用户流中连接声明是不可能的。可以使用自定义策略来实现

<ClaimsTransformation Id="CreateDisplayNameFromFirstNameAndLastName" TransformationMethod="FormatStringMultipleClaims">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="inputClaim1" />
    <InputClaim ClaimTypeReferenceId="surName" TransformationClaimType="inputClaim2" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="stringFormat" DataType="string" Value="{0} {1}" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="displayName" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation >

更多信息请参考document

如果您正在寻找一种内置用户流程的方法,我们建议您在显示名称的同时在应用程序中进行连接。 我们建议您使用显示名称而不是连接名字和姓氏(姓氏),因为根据客户选择的 IDP 可能包含也可能不包含名字和姓氏(姓氏),其中 displayname(Name) 将出现

【讨论】:

  • 基于 RND 和您的 cmets,我意识到使用内置策略是不可能的。我将转向自定义政策。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2018-11-16
  • 2016-04-28
  • 1970-01-01
  • 1970-01-01
  • 2019-05-19
  • 2021-02-12
  • 2016-02-22
  • 1970-01-01
相关资源
最近更新 更多