首页 > 解决方案 > 带有 oidc-client-js 的 Azure B2C 接收“错误:令牌中的颁发者无效”

问题描述

我正在尝试在 React Web 应用程序中使用oidc-client-js设置 OIDC 身份验证,并针对 Azure B2C 进行身份验证。

完成登录后,我收到此错误: Problem with authentication endpoint: Error: Invalid issuer in token: https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/v2.0.

B2C 元数据中的颁发者如下所示: "issuer": "https://login.microsoftonline.com/{tenantid}/v2.0". 我用来获取元数据的链接是https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration

我查看了 oidc-client-js 中的验证代码,我认为他们只是在两个值之间进行字符串比较。

有没有人将 oidc-client-js 与 B2C IDP 一起使用?

我需要在客户端上配置一些东西才能使其工作吗?

有没有办法从其中包含租户 ID 的 B2C 获取元数据?

标签: openid-connectazure-ad-b2coidc-client-js

解决方案


问题在于使用公共端点而不是特定于租户的端点。

租户特定:https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration

常见的:https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration

-juunas 是正确的,尽管不是出于所述原因,但 url 是错误的。


推荐阅读