设置使用 OAuth2 登录的 Vertx 代理服务器

问题描述 投票:0回答:1

如何正确路由以下网址?

我创建了一个 Vertx 反向代理,用于验证很久以前设置的遗留 Web 应用程序。

Web 应用程序位于端口 8200 上并运行。我已在 8201 上创建了反向代理。我已在 Azure Active Directory 中注册了该应用程序并设置了回调路由,但我认为我可能配置了错误的路由。

我想保护通过 OAuth2 代理对后端服务器的所有调用。

v = Vertx.vertx();

        HttpClient proxyClient = v.createHttpClient();
        HttpProxy httpProxy = HttpProxy.reverseProxy(proxyClient);
        Router proxyRouter = Router.router(v);
        
        HttpServer proxyServer = v.createHttpServer();

        OAuth2Auth authProvider = AzureADAuth.create(v, "CLIENT_ID", "CLIENT_SECRET", "TENANT_ID");

        OAuth2AuthHandler oauth2 = OAuth2AuthHandler.create(v, authProvider, "http://localhost:8201/callback");

        oauth2.setupCallback(proxyRouter.route("/callback"));
        proxyRouter.route("/*").handler(oauth2);
        proxyRouter.route(HttpMethod.GET, "/*").handler(ProxyHandler.create(httpProxy, 8200, "localhost"));
        
        proxyServer.requestHandler(proxyRouter).listen(8201);

页面身份验证正常,但在重定向到回调时失败。我认为代理的路由器最终陷入了循环。

这个工作有可能实现吗?

oauth-2.0 reverse-proxy vert.x vertx-httpclient
1个回答
0
投票

这可能是代理本身的错误。

我已提交https://github.com/eclipse-vertx/vertx-http-proxy/issues/101

© www.soinside.com 2019 - 2024. All rights reserved.