Java &引用;“共享秘密”;用于JWT身份验证SOA

Java &引用;“共享秘密”;用于JWT身份验证SOA,java,oauth-2.0,jwt,soa,Java,Oauth 2.0,Jwt,Soa,我有几个服务,我使用OAuth2和授权服务器,授权服务器返回JWT令牌。我将使用相同的JWT令牌对我的所有服务进行授权(请让我知道这是否是一个好方法)。此外,如果我采用这种方法,我需要在我的所有服务之间共享我的秘密(签名)。请让我知道这是否是一个好方法(我认为应该有一些通用的机密存储,在更新的情况下,它应该更新所有服务的机密,但我不确定是否有一个现有的解决方案,以及这个解决方案是否可以) 提前感谢,为了提高安全性,建议使用私钥/公钥方法,而不是共享密钥 是此类实施的标准。其思想是在服务器上保留私

我有几个服务,我使用OAuth2和授权服务器,授权服务器返回JWT令牌。我将使用相同的JWT令牌对我的所有服务进行授权(请让我知道这是否是一个好方法)。此外,如果我采用这种方法,我需要在我的所有服务之间共享我的秘密(签名)。请让我知道这是否是一个好方法(我认为应该有一些通用的机密存储,在更新的情况下,它应该更新所有服务的机密,但我不确定是否有一个现有的解决方案,以及这个解决方案是否可以)


提前感谢,

为了提高安全性,建议使用私钥/公钥方法,而不是共享密钥

是此类实施的标准。其思想是在服务器上保留私钥和公钥,并让服务回调到OAuth2以获取公钥,以便验证JWT令牌。出于性能原因,您可以缓存该公钥,以避免在每次验证时调用OAuth2服务器

如果您使用的是Spring,那么也可以使用它来为您进行验证和缓存

您也可以对共享密钥执行相同的操作,但这将需要HTTPS连接回OAuth2服务器,以便不在网络上公开它