ADB2C用户调用GraphAPI ChangePassword操作抛Unsupported User Type异常
问题1:ADB2C中注册的用户是否支持自主修改密码?
支持。仅面向ADB2C本地账户用户(非第三方身份提供商联合登录的用户),可以在验证旧密码的前提下完成自主修改密码操作,完全匹配你的场景要求。
问题2:上述异常的触发原因是什么?
你当前使用的UsernamePasswordCredential是标准Azure AD体系的用户名密码认证凭证,仅支持普通Azure AD租户的工作/学校账户、个人微软账户认证,完全不兼容ADB2C的用户体系。ADB2C的用户在标准Azure AD的认证逻辑中会被识别为未知用户类型,因此直接抛出Unsupported User Type 'Unknown'异常。
符合场景要求的实现方案
- 官方推荐优先使用ADB2C内置的修改密码用户流,用户跳转至ADB2C托管页面完成旧密码校验、新密码设置,全程不需要你的业务系统接触密码明文,安全性最高。
- 若需要实现嵌入式无跳转的修改密码逻辑,需要先通过ADB2C的登录用户流完成用户认证获取访问令牌,再携带该令牌调用Graph API的
me/changePassword接口,注意需要提前在ADB2C应用注册中配置委托权限Directory.AccessAsUser.All并完成管理员同意。
内容的提问来源于stack exchange,提问作者Roesmi
相关产品推荐
相关产品推荐

