C#GRPC身份验证,需要建议

时间:2020-02-08 15:28:37

标签: c# jwt grpc

net core 3.0应用程序和.net core 3.1服务器,它们都通过GRPC进行通信,身份验证是通过请求进行的,这意味着在第一个登录用户上生成会话ID并获得1分钟,这意味着如果其他用户正在尝试首先键入如果第一个用户在会话ID时间到期后断开连接或断开与服务器的连接,则用户凭据服务器返回该用户已经登录的用户,第二个用户可以登录。另外,用户可以通过更改会话ID(配置为空,通过配置文件管理来强制断开其他用户的连接)会话ID)。

问题:每次用户向服务器发出请求时,服务器都必须向数据库发出请求以检查会话ID是否有效且未过期,这非常昂贵,平均响应时间约为120ms

通过谷歌搜索更智能的解决方案,我发现JWT令牌似乎足够安全,问题是令牌的时间有限,我不得不创建身份验证服务器来为用户生成令牌,只有重新生成整个令牌才能延长用户令牌的生存时间

我应该坚持使用JWT还是尝试例如IdentityManager,如果我坚持使用JWT,用户是否应该能够访问刷新令牌(意味着它已保存在用户应用程序内存中),我发现了许多有关如何设置的示例服务器端刷新令牌,但没有有关客户端的信息,或者GRPC是否具有某种身份验证?。

如果有些问题看起来很愚蠢,对不起,我以前从未在JWT工作过。

谢谢。

0 个答案:

没有答案