[英]Using Vert.x `AuthenticationHandler` from vertx-web, we hit the authentication provider for every call?
我正在为我的 web 服务使用 Vert.x,其中一部分需要授权。 我已经设置了一个AuthenticationHandler
(使用vertx-auth-oath2
的 OAuth2 实现)来监听受保护的路径(比如说"/*"
)并且它被正确调用,向身份验证提供者发送重定向,它重定向回来和然后正确地传递给真正的处理程序。 这很好用。
但是下次我们调用受保护的端点时——它会再次执行整个操作。 我在抽象AuthenticationHandlerImpl
class 中看到它检查上下文是否已经有一个user()
如果是的话 - 将不会运行实际的 auth 处理程序,这是我需要的行为 - 但它显然不会发生,因为每次调用都是带有新RoutingContext
的新请求。
跨请求保留User
object 的“正确”方法是什么,以便身份验证处理程序会很高兴?
我猜它与 session 存储有关,但我从未使用过它 - 直到现在我一直在使用自定义“API 密钥”样式的解决方案,我正在尝试以“正确的方式 (tm) “在这个新项目中。
我使用的是最新的 Vert.x 4.3.5。
您将需要 CookieHandler 和 SessionHandler 来存储和处理 session 与用户。 这将与提供的 vertx-auth-oath2 开箱即用。
这是一个帮助您入门的简单示例: https://github.com/vert-x3/vertx-examples/blob/master/web-examples/src/main/java/io/vertx/example/web/auth/服务器.java
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.