如何通过Microsoft Graph为Azure B2C添加联合账户用户?
问题原因与解决方案
你的请求里同时包含了本地身份标识(userName和emailAddress类型,issuer为你的B2C域名)和联合身份标识,Azure B2C会判定这是一个混合类型用户(既支持本地密码登录,又支持联合登录),因此强制要求提供密码。而纯联合用户不需要本地身份,也不需要密码配置。
修正步骤:
- 移除所有
issuer为TestB2C.onmicrosoft.com的本地身份条目,只保留federated类型的联合身份 - 删除
passwordProfile字段,联合用户不需要该配置
修正后的请求示例:
{ "accountEnabled": true, "displayName": "OmegaMan", "mailNickname": "OmegaM", "identities": [ { "signInType": "federated", "issuer": "Corporate.com", "issuerAssignedId": "6ab...34" } ] }
额外注意事项:
issuer的值必须和你在Azure B2C中配置的OpenID Connect身份提供商的域名完全匹配(注意大小写和格式)issuerAssignedId必须是企业AD用户在OpenID流程中返回的唯一标识(通常是用户的objectId或sub声明值)
内容的提问来源于stack exchange,提问作者ΩmegaMan
相关产品推荐
相关产品推荐

