asp.net-core - OpenIddict:当两个或多个服务实例计数时出现 401 错误

标签 asp.net-core azure-service-fabric openiddict

我有一个带有 Angular2 UI 的 .NET Core 应用程序在我使用 OpenIddict 保护的 Service Fabric 集群中运行。我跟着这个例子:https://github.com/openiddict/openiddict-samples/tree/master/samples/RefreshFlow

当我只有一个无状态 .NET Core 应用程序实例时,它工作得很好。当我将实例数增加到两个时,身份验证失败并且我收到一堆 401 错误。我收到的 token 似乎只适用于该特定实例,而在另一个实例上被拒绝。
我想我明白为什么会发生这种情况,但我不知道如何解决。

任何帮助将不胜感激。

最佳答案

OpenIddict 依赖于 ASP.NET Core Data Protection stack生成和保护其授权代码、刷新 token 和访问 token (除非您明确选择 JWT 作为访问 token 格式)。

为确保可以跨实例读取这些 token ,您必须将 ASP.NET Core 数据保护配置为共享相同的 key 环。我推荐阅读 the related documentation on Microsoft's website如果您需要有关此过程的更多信息。

关于asp.net-core - OpenIddict:当两个或多个服务实例计数时出现 401 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42628862/

相关文章:

azure - 安全 Service Fabric 创建陷入等待节点状态的状态

azure - Service Fabric Actor 或 Azure Functions

asp.net-core - 使用 OpenId Connect 进行基于声明的身份验证

asp.net-core - openid connect - 登录期间识别租户

c# - 如何在 asp.net core 中使用 orchard .po 文件本地化来本地化数据注释属性?

c# - 为什么我的未经授权的 Controller 不返回 401 ASP.Net Core?

asp.net-core - 如何在ASP.Net Core 1.1MVC中确认电话号码

azure-service-fabric - 使用 StateManager 注册自定义序列化器的推荐方法

.net-core - 获取token后无法使用jwt访问授权路由

asp.net-core - .NET Core 6 - 如何在 Program.cs 中为依赖注入(inject)设置 ILogger(log4net)