首页 文章

基于无状态.NET JWT的oauth2身份验证服务器

提问于
浏览
0

首先请原谅我糟糕的英语 .

我是oauth2的新手,我正在尝试使用JWT令牌设置授权服务器 .

服务器在Owin自托管环境中运行 .

此时我已设置令牌生成,它似乎正常工作,我还设置了刷新令牌提供程序,它似乎工作(但它只是一个最小的实现);我没有更改OAuthAuthorizationServerOptions中的RefreshTokenFormat,使其保持默认状态(我不知道默认格式是什么),因此访问令牌显然是一个JWT令牌,刷新令牌是其他东西 .

所有这些似乎都能正常工作,但是我需要在微服务环境中运行这个授权服务器,因此授权服务器服务可能随时从一台机器移动到另一台机器,所以它需要是无状态的或者至少要保存共享存储(DB)或复制本地存储(我在Service Fabric上)或某种分布式缓存上需要的信息 .

测试我注意到如果我在一台机器上生成一个刷新令牌,然后我尝试在授权服务器的另一个实例(在另一台机器上)上使用这个刷新令牌来获取一个新的访问令牌,它会失败并带有一个通用的invalid_grant错误 . 我的猜测是auth服务器只是将一些与令牌相关的信息保存在内存中,但我不知道究竟是什么以及如何 .

我也希望有人指出我正确的方向来解决这个问题 .

非常感谢你 .

1 回答

  • 0

    我也使用JWT令牌为刷新令牌解决了这种情况 . 这样,身份验证服务器似乎完全无状态 .

相关问题