0
GitHub 공급자와 함께 OAuth2를 사용하여 경로를 확보하는이 예를 따르고 요청 재 지정 후 누락 된 GET 매개 변수를 제외하고는 제대로 작동합니다.Vertx - OAuth2를 사용하여 경로를 보안하는 동안 GET 매개 변수가 누락되었습니다.
내 코드 :
public class MyVerticle extends AbstractVerticle {
@Override
public void start() throws Exception {
HttpServer server = vertx.createHttpServer();
Router router = Router.router(vertx);
OAuth2Auth authProviderGitHub = GithubAuth.create(vertx, "<CLIENT_ID>", "<CLIENT_SECRET>");
OAuth2AuthHandler oauth2 = OAuth2AuthHandler.create(authProviderGitHub, "http://localhost:8080/callback");
oauth2.setupCallback(router.route());
router.route("/protected/*").handler(oauth2);
Handler<RoutingContext> requestHandler = (routingContext) -> {
String paramValue = routingContext.request().getParam("param");
routingContext.response().end("PARAM: " + paramValue);
};
router.get("/endpoint").handler(requestHandler);
router.get("/protected/endpoint").handler(requestHandler);
server.requestHandler(router::accept).listen(8080);
}
}
나는 두 가지 간단한 엔드 포인트가 있습니다
/endpoint // public, without protection
및
/protected/endpoint // protected with OAuth2
내가
와 브라우저 /엔드 포인트에서 호출 예상 PARAM 반환으로3210http://localhost:8080/endpoint?param=foo
작동 : foo는를 내가 제대로 GitHub의 로그인 페이지에 저를 리디렉션
http://localhost:8080/protected/endpoint?param=foo
와 보호 엔드 포인트를 호출 할 때 반면, 다음 내 핸들러하지만 GET 매개 변수없이 쿼리를 반환 따라서 끝 점의 응답은 PARAM : null입니다.
내가 뭘 잘못하고 있는지 아는 사람이 있습니까?
3.5.0.Beta1에서 여전히 작동하지 않습니다. POST로 변경하고 본문에 매개 변수를 제공하는 것이 3.4.2에서 작동하는지 알고 있습니까? – Rem
beta1 현재 스냅 샷이 작동 한 후에 수정 사항이 병합 된 것이 맞습니다. –
https://github.com/vert-x3/vertx-web/issues/710 – ses