【发布时间】:2020-05-12 15:39:42
【问题描述】:
我从 GITHUB 下载了 here 一个 Azure 示例,用于在 Angular 中使用 Azure Active Directory B2C (ADB2C)。
请考虑我已成功配置 Azure 门户上的 ADB2C,并且能够与我的 Angular 应用程序进行交互。事实上,我很高兴能够毫无问题地注册新用户。
但是,一旦我登录,它总是返回以下消息:
密码已成功重置。请使用新密码登录
我尝试重设密码,但总是收到相同的密码。我检查了 Microsoft 代码,发现了这一行:
if (success.idToken.claims['acr'] !== b2cPolicies.names.signUpSignIn) {
window.alert("Password has been reset successfully. \nPlease sign-in with your new password");
return this.authService.logout()
}
我进一步调查了一下,发现生成的 ADB2C JWTToken 缺少“acr”声明。而here,在微软官方文档中,他们写道:
仅用于旧策略。 所以我想知道:
- “acr”声明是强制性的吗?
- 能否在不影响稳定性的情况下注释掉该行?该应用程序似乎可以正常工作,并且返回的 JWT 格式正确
- 为什么 GitHub 代码使用这种奇怪的条件?我会打开一个问题而不是..
谢谢
【问题讨论】:
标签: angular azure jwt azure-ad-b2c bearer-token