存储用于签署令牌的JsonWebKey:基于JWT令牌的身份验证

时间:2016-09-28 10:24:01

标签: java jwt

我在休息服务中使用JWT进行身份验证。我正在生成JsonWebKey来签署令牌。

static JsonWebKey jwk = RsaJwkGenerator.generateJwk(2048); 

当客户端使用令牌发送请求时。我使用JWTConsumer和用于签署令牌的密钥来验证令牌,如下所示:

JwtConsumer jwtConsumer = new JwtConsumerBuilder()
      .setRequireExpirationTime()
      .setAllowedClockSkewInSeconds(30)
      .setRequireSubject()
      .setExpectedIssuer("techknowhub.com")
      .setVerificationKey(jwk.getPublicKey())
      .build();
try {
        //  Validate the JWT and process it to the Claims
        JwtClaims jwtClaims = jwtConsumer.processToClaims(token);
        System.out.println("JWT validation succeeded! " + jwtClaims);
      } catch (InvalidJwtException e) {
          System.out.println("JWT is Invalid: " + e);
      }

现在JsonWebKey存储在一个静态变量中,该变量用于所有请求。我希望将此密钥存储在db / File系统中的某个位置,以便稍后检索以验证声明。

有哪些可供选择的选项?如何将此密钥对象存储在DB中?

0 个答案:

没有答案