next-auth生成jwt token时默认使用aes加密,因此仅供当前应用程序使用。
为了在java中解析并获取next-auth生成jwt token中的信息,需要在应用程序登录后更新会话中的token。
立即学习“Java免费学习笔记(深入)”;
具体步骤:
// 在登录后的会话中设置自定义的访问令牌 session.accesstoken = yourtoken;
之后即可使用jwt解析器解密自定义的访问令牌:
String jwt = session.accessToken; try { // 配置JWT解析器,设置签名密钥和允许的算法 Claims claims = Jwts.parserBuilder() .setSigningKey("yourSecretKey") .build() .parseClaimsJws(jwt) .getBody(); // 获取需要的信息 String subject = claims.getSubject(); } catch (Exception e) { // 处理异常 }
注意:yoursecretkey需要与next-auth中配置的密钥相同。