如何创建无状态体系结构设计,以便在用户(A)登录时,服务器生成Json Web令牌( X1 )并返回给用户-A。然后,用户A再次将请求发送到服务器,并且服务器( X2 )提供服务,而无需用户重新进行身份验证。 因此架构在水平方面具有高度可扩展性。
答案 0 :(得分:0)
通常,您将拥有一项服务,可以完成与身份验证相关的所有工作。基本上这意味着X1和X2将调用该服务来验证用户身份或验证现有身份验证。应该在X1和X2上执行的唯一事情就是验证令牌。令牌可能有效,有效且已过期或无效。如果它有效,您只需执行必要的工作,无论特定服务器如何。如果它无效,则拒绝请求,如果它已过期,则将用户重定向到重新认证。
但是如果你问的是特定环境特定的细节,而你的问题是X2没有X1具有的某些特定的加密密钥,那么你就忘了提到你用来获取JWT的框架。< / p>
答案 1 :(得分:0)
要使它起作用的要求很少:
如上所述,X1和X2将使用内部服务A进行凭证验证。
绑定到A的数据源的user / api客户端记录中会有盐。
应该共享X1和X2加密密钥,它们应该使用JWT的sub
对象的相同结构。还应检查iss
对象(通常绑定到请求身份验证的用户绑定的api客户端)。 verefication的逻辑应该在X1和X2之间共享。
令牌有伪造的数据 - 如果它由相同的服务A提供,然后进行散列,结构化,然后以相同的方式由X1和X2检查。