在 Azure B2C 的 OutputClaim 中发送枚举文本

Send text of Enumeration in OutputClaim in Azure B2C

我有一些自定义声明 "extension_country" 类似于 DropDownSelect:

<ClaimType Id="extension_country">
  <DisplayName>Country</DisplayName>
  <DataType>string</DataType>
  <UserInputType>DropdownSingleSelect</UserInputType>
  <Restriction>
    <Enumeration Value="AFGHANISTAN" Text="afghanistan" SelectByDefault="false" />
    <Enumeration Value="ALBANIA" Text="albania" SelectByDefault="false" />
    <Enumeration Value="ALGERIA" Text="algeria" SelectByDefault="false" />
    [...]
    </Restriction>
  </ClaimType>

不,我想在我的 RelayParty 中将文本作为 OutputClaim 发送:

<OutputClaim ClaimTypeReferenceId="extension_country" PartnerClaimType="Country" />

但是 Azure B2C 只是发送值,而不是文本。我将此声明发送到其他应用程序,这些应用程序会将其导入用户配置文件。所以在我的应用程序中,国家/地区是 "BOSNIAANDHERZEGOVINA",这真的很难读。 "bosnia and herzegovina" 会好很多。 我没有找到任何 ClaimsTransformation 来执行此操作。有一些在其他方向(获取文本和设置值),但我需要文本值。

因为我以后会本地化下拉菜单,所以每次都用英文发送文本就太好了。

最佳

我在支持 26 个国家/地区时遇到过同样的问题。我们能够实施的唯一解决方案是为您要支持的每种语言本地化国家声明。

恐怕您无法将文本发送回 RP。

我现在像@jas suri 写的那样更改了定义。 将 VALUES 更改为可读的名称。这不是我作为程序员自然会做的事情,我不得不在我的环境中改变更多的地方,但它正在工作。 很高兴互联网技术在标识符中没有空格和特殊字符的问题。