0

如何进行无状态架构设计,以便如果用户(A)登录并且 Json Web 令牌由服务器(X1)生成并返回给用户-A。用户 A 再次将请求发送到服务器,服务器( X2 )服务于该目的,而无需让用户重新进行身份验证。从而使架构具有高度的水平可扩展性。

4

2 回答 2

0

使其工作的要求很少:

  1. 如上所述,X1 和 X2 将使用内部服务 A 进行凭据验证。

  2. 绑定到 A 的数据源的用户/api 客户端记录中会有盐。

  3. X1 和 X2 加密密钥应该共享,并且它们应该使用相同的 JWTsub对象结构。iss还应检查对象(通常绑定到用户请求身份验证所绑定的 api 客户端)。验证的逻辑应该在 X1 和 X2 之间共享。

令牌中伪造了数据 - 如果它由相同的服务 A 提供,然后经过哈希处理、结构化,然后由 X1 和 X2 以相同的方式检查。

于 2017-02-22T05:34:46.617 回答
0

通常,您将拥有一项服务来完成与身份验证相关的所有工作。基本上这意味着 X1 和 X2 将调用该服务来验证用户或验证现有的身份验证。应该在 X1 和 X2 上执行的唯一事情是验证令牌。令牌可以是有效的、有效的和过期的或无效的。如果它有效,您只需执行必要的工作,而不管特定的服务器。如果它无效,则拒绝请求,如果它已过期,则将用户重定向到重新身份验证。

但是,如果您询问特定环境的详细信息,并且您的问题是 X2 没有 X1 具有的某些特定加密密钥或类似的东西,那么您忘记提及您使用哪些框架来获取 JWT。

于 2017-02-21T20:30:11.960 回答