Vert.X检查JWT令牌的过期时间
我有以下场景,在我的vertx应用程序中,我有一个端点/登录名,在收到正确的凭据后,会发出一个有效期为30分钟的JWT 我使用此令牌保护/api/*端点下的所有路由 所有这些都如预期的那样起作用 我的问题是,我希望能够拦截那些/api/*请求,并且在进行令牌身份验证之前检查令牌,如果令牌即将过期,则生成一个新的令牌,该令牌可以在响应的头中返回,以便客户端可以在后续请求中使用它 我想要实现的是:Vert.X检查JWT令牌的过期时间,jwt,vert.x,Jwt,Vert.x,我有以下场景,在我的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"));