如何使用 JWT 在微服务中构建 authenticate/authorise?
How to architect authenticate/authorise in microservice using JWT?
如何进行无状态架构设计,以便如果用户 (A) 已登录并且 Json 网络令牌由服务器 (X1) 生成并返回给用户A。再次,用户 A 将请求发送到服务器,服务器(X2)无需重新验证用户即可达到目的。
使架构具有高度的横向扩展性。
通常您会有一个服务来完成与身份验证相关的所有工作。基本上这意味着 X1 和 X2 将调用该服务来验证用户或验证现有的身份验证。唯一应该在 X1 和 X2 上执行的是令牌验证。令牌可以有效、有效和过期或无效。如果有效,您只需执行必要的工作,而不管特定的服务器。如果无效,则拒绝请求,如果过期,则将用户重定向到重新验证。
但是,如果您询问的是特定于环境的详细信息,而您的问题是 X2 没有 X1 具有的某些特定加密密钥或类似的东西,那么您忘记提及您使用什么框架来获取 JWT .
使其工作的要求很少:
如前所述,X1和X2会使用内部服务A进行凭证验证。
绑定到 A 的数据源的 user/api 客户端记录中会有盐。
X1 和 X2 加密密钥应该共享,并且它们应该使用 JWT 的 sub
对象的相同结构。 iss
对象也应该被检查(通常绑定到请求身份验证的用户所绑定的 api 客户端)。验证逻辑应在 X1 和 X2 之间共享。
令牌中包含伪造的数据 - 如果它由同一服务 A 提供,然后进行散列和结构化,然后由 X1 和 X2 以相同方式检查。
如何进行无状态架构设计,以便如果用户 (A) 已登录并且 Json 网络令牌由服务器 (X1) 生成并返回给用户A。再次,用户 A 将请求发送到服务器,服务器(X2)无需重新验证用户即可达到目的。 使架构具有高度的横向扩展性。
通常您会有一个服务来完成与身份验证相关的所有工作。基本上这意味着 X1 和 X2 将调用该服务来验证用户或验证现有的身份验证。唯一应该在 X1 和 X2 上执行的是令牌验证。令牌可以有效、有效和过期或无效。如果有效,您只需执行必要的工作,而不管特定的服务器。如果无效,则拒绝请求,如果过期,则将用户重定向到重新验证。
但是,如果您询问的是特定于环境的详细信息,而您的问题是 X2 没有 X1 具有的某些特定加密密钥或类似的东西,那么您忘记提及您使用什么框架来获取 JWT .
使其工作的要求很少:
如前所述,X1和X2会使用内部服务A进行凭证验证。
绑定到 A 的数据源的 user/api 客户端记录中会有盐。
X1 和 X2 加密密钥应该共享,并且它们应该使用 JWT 的
sub
对象的相同结构。iss
对象也应该被检查(通常绑定到请求身份验证的用户所绑定的 api 客户端)。验证逻辑应在 X1 和 X2 之间共享。
令牌中包含伪造的数据 - 如果它由同一服务 A 提供,然后进行散列和结构化,然后由 X1 和 X2 以相同方式检查。