我已成功设置 JJWT 以用于跨一系列 Web 服务的身份验证过程。问题是它们是在一个 Web 服务中创建的,但在多个服务中进行了身份验证。如何在确保我的所有 Web 服务使用相同的签名来验证传入的 JWT 的同时成功安全地使用签名?
// We need a signing key, so we'll create one just for this example. Usually
// the key would be read from your application configuration instead.
Key key = MacProvider.generateKey();
String compactJws = Jwts.builder()
.setSubject("Joe")
.signWith(SignatureAlgorithm.HS512, key)
.compact();
我知道我可以使用普通的旧字符串,.signWith(Algorithm,String)
但是我已经意识到使用标准 Java String
(字面意思)不够安全。我正在使用类似于:
String compactJws = Jwts.builder()
.setSubject("Joe")
.signWith(SignatureAlgorithm.HS512, "shared complex passphrase")
.compact();