我有两个Docker容器,它们的OAuth Server具有与Docker Swarm管理的IdentityServer4相同的OAuth Server映像(我不在乎)。
问题在于令牌有时有效,有时无效(401未经授权)。
我们尝试仅使一个实例运行,并且问题已解决,但我们需要两个实例。
如何配置服务器的多个实例?
注意:
AddDeveloperSigningCredential()
。我不知道它是否会影响。ASPNETCORE_ENVIRONMENT=Development
的测试环境答案 0 :(得分:0)
您可以根据需要拥有任意数量的Identity Server 4 Web应用程序实例:
AddDeveloperSigningCredential()
,就可以了){baseUrl}/.well-known/openid-configuration
页上检查身份服务器4的两个实例上的发行者uri是否相同)就令牌验证而言,其他任何事情都不重要。通常,令牌验证涉及下载描述授权提供者和公钥的发现文档信息,以针对受尊重的发行者验证令牌的签名。
答案 1 :(得分:0)
问题在于IdentityServer的两个实例中的tempkey.rsa文件都不相同。
我必须使用构建操作将文件配置为“始终复制”,以包含在构建项目中,并因此包含在docker映像中。
我知道在生产中不应以这种方式使用它,但是迫切需要演示。