Vert.X检查JWT令牌的过期时间

Vert.X检查JWT令牌的过期时间,jwt,vert.x,Jwt,Vert.x,我有以下场景,在我的vertx应用程序中,我有一个端点/登录名,在收到正确的凭据后,会发出一个有效期为30分钟的JWT 我使用此令牌保护/api/*端点下的所有路由 所有这些都如预期的那样起作用 我的问题是,我希望能够拦截那些/api/*请求,并且在进行令牌身份验证之前检查令牌,如果令牌即将过期,则生成一个新的令牌,该令牌可以在响应的头中返回,以便客户端可以在后续请求中使用它 我想要实现的是: 避免发出永久有效的令牌,就好像我没有办法阻止对应用程序的访问一样 避免维护任何类型的令牌黑名单 避免必

我有以下场景,在我的vertx应用程序中,我有一个端点/登录名,在收到正确的凭据后,会发出一个有效期为30分钟的JWT

我使用此令牌保护/api/*端点下的所有路由

所有这些都如预期的那样起作用

我的问题是,我希望能够拦截那些/api/*请求,并且在进行令牌身份验证之前检查令牌,如果令牌即将过期,则生成一个新的令牌,该令牌可以在响应的头中返回,以便客户端可以在后续请求中使用它

我想要实现的是:

  • 避免发出永久有效的令牌,就好像我没有办法阻止对应用程序的访问一样
  • 避免维护任何类型的令牌黑名单
  • 避免必须发行非常短的生命代币,并在每次请求时重新发行这些代币
  • 总的来说,任何一种策略都是受欢迎的


    谢谢

    为了在JWT验证之前处理请求,您只需在验证处理程序之前添加自定义处理程序,例如:

    路由器=路由器。路由器(vertx)


    您是否多次尝试添加同一路线?您好,alexvetter,我拦截路线没有问题,我的问题是检查令牌的机制,我或vertx都没有这个能力。我可能没有注意到的一件事是,我使用的是javascript.Mhm,JWT包含在头中,并且解析头。也许您需要实现类似于JWTAuthHandlerImpl的东西。请告诉我您的解决方案。我需要尽快实现身份验证,感觉我也会遇到类似的问题;我也对这种方法感兴趣。。。
    // Create a JWT Auth Provider
    JWTAuth jwt = JWTAuth.create(vertx, new JsonObject()
        .put("keyStore", new JsonObject()
            .put("type", "jceks")
            .put("path", "keystore.jceks")
            .put("password", "secret")));
    
    router.route("/api/*").handler(ctx -> {
      // here do what you're planning to achieve, and the call
      ctx.next();
    });
    
    // protect the API
    router.route("/api/*").handler(JWTAuthHandler.create(jwt, "/api/newToken"));