【问题标题】:Identity Server 4 API JWT, Load Balancing, Data Protection, Kubernetes,Identity Server 4 API JWT、负载平衡、数据保​​护、Kubernetes、
【发布时间】:2021-07-16 19:21:03
【问题描述】:

在负载均衡器暴露的 Kubernetes 上遇到多个 IdentityServer4 实例的问题。我认为凭据登录没有问题,我的问题与 JWT 令牌有关。只有 1 个实例时工作正常。

概述:

身份服务器4 MongoDB数据存储 持久授权存储 Redis 上的数据保护设置

多个 .Net Core 3.1 Web API。在启动时使用 AddIdnetityServerAuthentication 传递连接和 API 名称。我正在运行 API 的多个实例。减少到 1 我仍然遇到同样的问题。如果只有 1 个 Identity Server 实例但有多个实例,则工作正常我在 API 上收到以下错误:

“承载者”未通过身份验证。失败消息:“IDX10501:签名验证失败。无法匹配密钥:

我在 IdentityServer 日志中没有收到任何错误或身份验证失败。

所以我脑海中出现的问题是,JWT 令牌所以我认为请求应该由令牌验证,即 API 不应该从身份服务器请求信息? Identity Server 在 Redis 上运行 DataProtection 设置作为其存储,我可以在其中看到其丢弃的信息。我已持久化授权存储,但未添加令牌。

我需要切换到资源与 JWT 吗?可能的开销是多少? 令牌是否没有通过数据保护在 API 实例之间共享?

感谢您的任何意见/建议。

【问题讨论】:

    标签: jwt identityserver4 load-balancing asp.net-core-3.1 data-protection


    【解决方案1】:

    以防其他人遇到此问题。这是由于错误地让开发人员在 Identity Server 的配置中签名。换成证书解决了这个问题。

    builder.AddDeveloperSigningCredential();
    

    builder.AddSigningCredential(rsaCertificate);
    
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-29
    相关资源
    最近更新 更多