You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure AD B2C中添加性别自定义应用声明并限制选项?

在Azure AD B2C中添加带选项限制的自定义性别应用声明

当然可以实现!Azure AD B2C完全支持添加带固定选项限制的自定义应用声明,用来收集用户性别这类不需要自由输入的信息。下面分两种常用场景给你详细说明步骤:

一、使用用户流(快速配置)

用户流是Azure AD B2C提供的可视化配置方式,适合快速搭建场景:

  1. 创建自定义用户属性

    • 登录Azure门户,找到你的B2C租户,进入左侧菜单的用户属性选项
    • 点击添加按钮,填写属性信息:
      • 名称:建议用genderPreference这类有辨识度的内部名称
      • 显示名称:直接填“性别”
      • 数据类型:选择字符串
      • 用户可输入:选否(这样用户不能自由输入,只能选预设选项)
      • 配置选项:选是,然后添加你需要的两个选项(比如“男”/“女”或者“Male”/“Female”)
    • 保存这个自定义属性
  2. 在用户流中启用该声明

    • 进入用户流菜单,选择你要修改的注册/登录流(比如「注册并登录 v2」)
    • 切换到用户属性标签,勾选你刚创建的genderPreference,这样用户注册时会看到这个下拉选择框
    • 再切换到应用声明标签,同样勾选这个属性,确保你的应用在用户登录后能获取到这个性别声明
  3. (可选)调整UI显示

    • 在用户流的页面布局标签里,找到注册页面,编辑该字段的显示样式,确保它是下拉选择的形式,符合你的需求

二、使用自定义策略(更灵活的定制)

如果你的场景需要更复杂的逻辑,比如和其他流程联动,可以用自定义策略:

  1. 在策略中定义带限制的声明
    在你的自定义策略的TrustFrameworkExtensions.xml文件中,添加如下ClaimsSchema定义:

    <ClaimsSchema>
      <ClaimType Id="genderPreference">
        <DisplayName>性别</DisplayName>
        <DataType>string</DataType>
        <UserInputType>DropdownSingleSelect</UserInputType>
        <Restriction>
          <Enumeration Text="男" Value="Male" SelectByDefault="false" />
          <Enumeration Text="女" Value="Female" SelectByDefault="false" />
        </Restriction>
      </ClaimType>
    </ClaimsSchema>
    

    这里通过Restriction节点明确限制了可选值,UserInputType设为DropdownSingleSelect确保是下拉选择。

  2. 在用户旅程中收集并输出声明

    • 在注册流程的技术配置文件中,添加这个声明到InputClaims,确保用户注册时需要选择
    • 在输出技术配置文件中,添加这个声明到OutputClaims,确保应用能收到该声明

一些注意事项

  • 自定义用户属性一旦创建就无法删除,所以命名和配置时要谨慎
  • 如果需要多语言支持,可以给DisplayName和Enumeration的Text添加多语言资源
  • 不管用用户流还是自定义策略,都要测试注册流程,确认用户只能选择预设选项,且应用能正确获取到性别声明

内容的提问来源于stack exchange,提问作者Karlitos2312

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:20:56