acr声明对于使用Angular SPA获得的Active Directory B2C JWT令牌为空

问题描述 投票:1回答:1

我从GITHUB下载了here一个Azure示例,用于在Angular中使用Azure Active Directory B2C(ADB2C)。请考虑我已经成功配置了Azure Portal上的ADB2C,并且能够与我的Angular应用程序进行交互。实际上,我很高兴能够成功注册新用户。但是,一旦我登录,它总是返回以下消息:

密码已成功重置。请使用您的新密码登录

我试图重设密码,但是我总是收到相同的密码。我检查了Microsoft Code,发现了这一行:

  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在Microsoft官方文档中写道:

仅与较旧的策略一起使用。所以我想知道:

  1. “ acr”声明是强制性的吗?
  2. 我可以在不影响稳定性的情况下注释掉该行吗?该应用程序似乎正常工作,返回的JWT格式正确]
  3. 为什么GitHub代码使用这种怪异的条件?我将打开一个问题。
  4. 谢谢

我从GITHUB下载了一个Azure示例,用于在Angular中使用Azure Active Directory B2C(ADB2C)。请考虑我已经成功配置了Azure Portal上的ADB2C,并且能够...

angular azure jwt azure-ad-b2c bearer-token
1个回答
0
投票

得到整理。我引用了Derisen(作者)在GitHub上回复我的答案here

© www.soinside.com 2019 - 2024. All rights reserved.