【发布时间】: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