kaylil_01 Asked:2020-06-04 03:29:35 +0000 UTC2020-06-04 03:29:35 +0000 UTC 2020-06-04 03:29:35 +0000 UTC 通过 JWT 对微服务进行授权 772 我是否正确理解将身份验证服务器作为一个单独的微服务,它将有两个控制器,一个生成 JWT 令牌,第二个检查它是否有效,所有其他服务都敲这个服务是正确的吗?如果资源服务器(获取用户、创建用户、删除用户)与身份验证服务器在同一个服务中,会不会很糟糕? java 1 个回答 Voted Best Answer tym32167 2020-06-05T04:53:03Z2020-06-05T04:53:03Z 身份验证服务必须生成令牌,但每个服务本身都可以检查令牌的有效性。 有一个身份验证服务器,它有 2 个密钥 - 一个是公共的,用于编码,第二个是私有的 - 用于解码(在散列的情况下,将没有私有的)。有一个服务器资源,它接收带有令牌的请求,令牌包含数据和签名(签名本质上是编码数据或哈希)。 资源服务器从身份验证服务器下载公钥(一次,或每天/小时一次),然后对于每个令牌,如果接收到的值与令牌的第二部分匹配,它会尝试使用公钥对其数据进行编码,则该令牌被认为是有效的。 这当然是一个简化的表示。您可以在此处阅读有关令牌的更多信息。
身份验证服务必须生成令牌,但每个服务本身都可以检查令牌的有效性。
有一个身份验证服务器,它有 2 个密钥 - 一个是公共的,用于编码,第二个是私有的 - 用于解码(在散列的情况下,将没有私有的)。有一个服务器资源,它接收带有令牌的请求,令牌包含数据和签名(签名本质上是编码数据或哈希)。
资源服务器从身份验证服务器下载公钥(一次,或每天/小时一次),然后对于每个令牌,如果接收到的值与令牌的第二部分匹配,它会尝试使用公钥对其数据进行编码,则该令牌被认为是有效的。
这当然是一个简化的表示。您可以在此处阅读有关令牌的更多信息。