You need to enable JavaScript to run this app. 如何通过Graph API或SDK为Azure AD B2C实例创建全局用户自定义属性
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Graph API或SDK为Azure AD B2C实例创建全局用户自定义属性

需求可行性判定

该需求完全可以通过Microsoft Graph API/SDK实现,最终生成的全局自定义属性和Azure门户手动创建的属性无任何差异:Azure门户创建B2C用户全局自定义属性的操作,底层本身就是调用同一套Graph接口完成的,不存在功能差异。
核心逻辑澄清:门户中展示的“B2C全局用户属性”,本质是注册在B2C租户默认内置的b2c-extensions-app应用上的目录扩展属性,绑定到User实体全局生效,并非单用户级别的字段。

前置要求
  • 调用Graph接口的身份需要具备全局管理员、身份策略管理员或云应用管理员权限,和门户操作的权限要求完全一致
  • 调用所需的应用授权需要包含Directory.ReadWrite.All应用权限,覆盖目录扩展属性的创建能力
具体操作步骤

1. 定位内置的b2c扩展应用

每个Azure AD B2C租户默认存在一个不可删除的内置应用b2c-extensions-app,专门用于存储所有全局自定义用户属性,不需要手动创建。
通过Graph接口查询获取该应用的唯一ID:

GET https://graph.microsoft.com/v1.0/applications?$filter=displayName eq 'b2c-extensions-app. Do not modify. Used by AADB2C for storing user data.'

从返回结果中提取该应用的id字段值,后续创建属性需要用到。

2. 基于REST API创建全局自定义用户属性

在上述内置应用下创建扩展属性,即可等价完成门户中“添加用户属性”的操作,接口调用规则如下:

  • 接口地址:POST https://graph.microsoft.com/v1.0/applications/{上一步获取的应用ID}/extensionProperties
  • 请求参数完全对齐门户的能力边界:
    • name:自定义属性的短名称,比如示例中的ShoeSize,Graph会自动按照门户统一的命名规则为属性添加全局唯一前缀,最终生成的完整属性ID和门户创建的格式完全一致
    • dataType:仅支持三种和门户匹配的类型:string、boolean、integer,对应门户提供的String、Boolean、Int选项,传入其他类型会超出B2C的能力范围,无法被用户流识别
    • description:对应门户中可选填写的属性备注描述
    • targetObjects:固定填入["User"],代表该属性全局绑定到用户实体,所有用户实例都可使用
      示例请求体(以创建整数类型的ShoeSize属性为例):
{
    "name": "ShoeSize",
    "dataType": "integer",
    "description": "用户鞋码信息",
    "targetObjects": ["User"]
}

3. 基于Graph SDK创建全局自定义用户属性

所有主流语言的Graph SDK都原生支持上述接口操作,不需要手动拼接请求:

  • 调用SDK内置的应用查询方法,通过显示名称过滤获取b2c-extensions-app的应用ID
  • 初始化extensionProperty对象,按照上述参数要求填充属性名称、数据类型、绑定目标、描述信息
  • 调用SDK内置的扩展属性创建方法提交请求,即可完成全局属性创建,和REST API的效果完全一致
操作效果对齐说明

通过上述接口或SDK创建的属性,会自动同步到Azure门户的用户属性列表中,后续在配置用户流、自定义策略时,选择自定义属性的流程和门户手动创建的属性完全一致,不存在任何使用差异。

避坑提示
  • 不要直接在单个用户对象上写入自定义字段充当全局属性,这类字段不会被B2C的身份流程识别,不属于全局可用的自定义属性范畴
  • 属性创建完成后不需要额外执行同步操作,全局即时生效,租户内所有用户实体自动具备该属性的存储能力

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.06 20:36:09