通过Graph API创建Azure AD/B2C组时,能否添加额外声明或属性?
关于Graph API创建Azure AD/B2C组时添加额外属性的解答
我来帮你理清这个问题——不管是Azure AD还是Azure AD B2C,其实都支持通过Graph API给组添加额外属性(也就是你说的额外声明/自定义属性),但需要先完成前置配置,具体细节如下:
一、Azure AD 场景
- 首先,Azure AD的组自带一系列内置属性,但如果需要自定义额外属性,得先创建自定义扩展属性。你可以通过Graph API的
POST /schemaExtensions接口来创建,或者直接在Azure门户的应用注册里配置扩展属性(针对组类型)。 - 举个实际的例子:假设你创建了一个名为
extension_1234567890abcdef_departmentCode的扩展属性(这里的1234567890abcdef是你注册应用的ID,要去掉连字符),那么创建组的请求体就可以包含这个属性:
{ "displayName": "产品研发组", "mailNickname": "rd-team", "extension_1234567890abcdef_departmentCode": "RD002" }
- 如果你说的“额外声明”是指让这些属性出现在令牌里,那还需要在应用的清单中配置声明映射,或者在SAML/OIDC的配置里把组的自定义属性添加到输出声明中。
二、Azure AD B2C 场景
- Azure AD B2C的组管理逻辑和Azure AD类似,同样支持添加自定义属性,但要注意使用B2C专属的Graph API端点,并且确保你的应用拥有
Group.ReadWrite.All这类权限。 - 自定义属性的创建方式和Azure AD一致,创建完成后,在调用Graph API创建B2C组时,直接在请求体中传入该属性的值即可。目前B2C的组自定义属性只能通过Graph API管理,暂时没法在B2C的门户界面直接配置。
- 要是想让这些组属性作为声明出现在用户令牌中,需要在B2C的用户流或者自定义策略里配置声明映射,把组的自定义属性提取到令牌里。
总结
简单来说,两种场景下都能实现给组添加额外属性,核心是先创建对应的自定义扩展属性,再在创建组时传入属性值;如果要转为令牌声明,则需要额外配置应用或B2C的策略。
内容的提问来源于stack exchange,提问作者Rocket Singh
相关产品推荐
相关产品推荐

