Azure AD B2C仅认证本地与来宾用户及添加令牌自定义声明咨询
Azure AD B2C本地/来宾用户认证及自定义声明问题解答
1. 能否仅允许本地及跨租户受邀来宾用户认证?
可以实现。你可以通过B2C的用户流或自定义策略来限制认证范围:
- 用户流层面:配置Azure AD作为身份提供者,限定为当前租户及受邀来宾,同时在用户属性筛选中只允许
Member(本地用户)和Guest(受邀来宾)类型的用户完成认证。 - 自定义策略层面:添加验证步骤,检查用户的
userType属性,直接拦截不符合类型的用户,不让其完成认证流程。
另外也可以在应用侧配合验证令牌里的tid和userType字段,但核心拦截逻辑放在B2C层面更安全。
2. 应用层面能不能添加自定义声明到令牌?
不行。Azure AD B2C令牌的声明是由认证流程(用户流/自定义策略)生成的,应用本身没有权限修改或添加声明到令牌中。你需要在B2C的认证流程里配置:
- 用用户流的话,在“用户属性和令牌声明”环节,选择内置属性或扩展属性作为自定义声明输出。
- 如果需要更复杂的逻辑(比如从外部系统拉取数据生成声明、做计算转换),就得用自定义策略,通过ClaimsTransformation或者集成REST API来实现。
3. 仅用用户流就能实现,还是必须用自定义策略?
看你具体需求:
- 仅限制本地/来宾用户认证:只用用户流就行,配置身份提供者和用户类型筛选即可。
- 添加简单自定义声明:用户流足够,比如用扩展属性映射成声明。
- 要是需要复杂的自定义声明逻辑(比如多数据源整合、复杂转换),或者更严格的用户类型拦截规则,就必须用自定义策略,它的灵活性更高,能满足定制化需求。
内容的提问来源于stack exchange,提问作者Zubair Afridi
相关产品推荐
相关产品推荐

