Azure AD B2C双密码过期规则实现:如何获取密码更新时间?
问题解答
核心结论
Microsoft Graph 提供默认的密码更新时间字段,不需要自定义属性存储该值。
具体字段与逻辑说明
- 正式密码的更新时间:用户实体的
lastPasswordChangeDateTime属性会自动记录最后一次修改正式密码的时间,完全可以用来判断正式密码是否超过180天有效期。调用GET /users/{id}接口即可获取该字段,计算当前时间与该字段的时间差就能触发对应的强制重置逻辑。 - 临时密码的过期处理:虽然没有专门的“临时密码设置时间”字段,但Azure AD已经内置了临时密码的过期规则:
- 设置临时密码时,默认有效期为24小时(可在设置时调整),超过这个时间用户无法用临时密码登录,Azure AD会直接返回登录失败。
- 若临时密码在有效期内,用户登录时
forceChangePasswordNextSignIn属性会被设为true,此时系统会强制用户修改密码,无需额外判断时间。
实现建议
- 对于正式密码:获取
lastPasswordChangeDateTime后,计算时间差,若超过180天,引导用户重置密码。 - 对于临时密码:无需自行维护设置时间,直接依赖Azure AD的内置机制——登录失败则提示临时密码过期,登录时触发强制修改密码则引导用户操作即可。
内容的提问来源于stack exchange,提问作者myself
相关产品推荐
相关产品推荐

