Azure B2C用户创建默认行为是否变更?密码重置相关咨询
Azure B2C门户用户创建行为变更及解决方案
行为变更确认
Azure B2C门户的用户创建逻辑确实已发生变更:近期通过UI新建用户时,系统默认会将forceChangePasswordNextSignIn属性设为true,强制用户首次登录必须修改密码,这就是你遇到初始密码登录提示“密码已过期”的原因。而此前的旧行为是默认不开启该强制改密码设置。
恢复原有登录体验的方案
1. 手动修改已创建用户的属性
通过Azure门户创建用户后,可调用Graph API将用户的forceChangePasswordNextSignIn设为false,示例请求如下:
PATCH https://graph.microsoft.com/v1.0/users/{user-object-id} Content-Type: application/json { "forceChangePasswordNextSignIn": false }
2. 自动化创建用户(推荐长期方案)
直接使用Graph API或PowerShell脚本批量创建用户,在创建时就指定forceChangePasswordNextSignIn=false,示例Graph API创建请求:
POST https://graph.microsoft.com/v1.0/users Content-Type: application/json { "accountEnabled": true, "displayName": "示例用户", "mailNickname": "sampleuser", "userPrincipalName": "sampleuser@{your-b2c-tenant}.onmicrosoft.com", "passwordProfile": { "forceChangePasswordNextSignIn": false, "password": "YourInitialPass123!" } }
3. 自定义策略调整
如果你依赖门户创建用户,且不想每次手动调用API修改,可在自定义策略中添加逻辑,跳过首次登录强制改密码的检查。具体需在登录流程的技术配置文件中,修改密码验证步骤,忽略forceChangePasswordNextSignIn的状态。此方法需要具备自定义策略的开发能力,同时需评估安全性影响。
内容的提问来源于stack exchange,提问作者kria
相关产品推荐
相关产品推荐

