【发布时间】:2019-12-24 23:23:42
【问题描述】:
我正在使用 jhipster 创建多个微服务应用程序。我正在使用 UAA 服务器进行与用户相关的身份验证和任务。我需要操作 jhipster 创建的 JWT 并向有效负载添加一些属性,但我似乎找不到如何获取 jhipster 的私钥。
jHipster 正在使用 rs256 算法对 jwt 进行签名。我已经访问了 jwt 并更改了有效负载,但我无法使用 rs256 算法对其进行签名,因为我不知道如何检索它。我尝试切换到对称算法,但无法验证令牌,因为验证器使用 rs256 算法。
ResponseEntity<OAuth2AccessToken> responseEntity = restTemplate.postForEntity(getTokenEndpoint(), entity, OAuth2AccessToken.class);
jhipster 正在使用此代码进行身份验证并返回令牌。 我正在尝试创建一个新令牌:
JwtBuilder token = Jwts.builder()
.setHeader(headerMap)
.setClaims((Map<String, Object>) jwtMap.get("payload"))
.signWith(SignatureAlgorithm.RS256, privateKey);
String newJwt = token.compact();
但我没有私钥。
我尝试生成一个新的私钥并使用它,但我收到了Caused by: org.springframework.security.jwt.crypto.sign.InvalidSignatureException: RSA Signature did not match content 错误。
我想更改 jwt 有效负载并为其添加属性并将新令牌用作 jhipster 身份验证的访问令牌。
提前致谢
【问题讨论】: