private String extractBasePath(RoutingContext context) { try { return UriBuilderRequest.resolveProxyRequest( new io.vertx.reactivex.core.http.HttpServerRequest(context.request()), "/", null ); } catch (URISyntaxException e) { LOGGER.error("Unable to resolve OpenID Connect provider configuration endpoint", e); return "/"; } } }
private String extractBasePath(RoutingContext context) { try { return UriBuilderRequest.resolveProxyRequest( new io.vertx.reactivex.core.http.HttpServerRequest(context.request()), "/", null ); } catch (URISyntaxException e) { LOGGER.error("Unable to resolve OpenID Connect provider configuration endpoint", e); return "/"; } } }
private String buildRedirectUri(HttpServerRequest request) throws URISyntaxException { return UriBuilderRequest.resolveProxyRequest( new io.vertx.reactivex.core.http.HttpServerRequest(request), request.path(), // append provider query param to avoid redirect mismatch exception Collections.singletonMap("provider", request.getParam(PROVIDER_PARAMETER))); }
private String buildRedirectUri(HttpServerRequest request) throws URISyntaxException { return UriBuilderRequest.resolveProxyRequest( new io.vertx.reactivex.core.http.HttpServerRequest(request), request.path(), // append provider query param to avoid redirect mismatch exception Collections.singletonMap("provider", request.getParam(PROVIDER_PARAMETER))); }
@Override public void parseCredentials(RoutingContext context, Handler<AsyncResult<JsonObject>> handler) { Session session = context.session(); if (session != null) { try { // Save current request in session - we'll get redirected back here after successful login HttpServerRequest request = context.request(); session.put(returnURLParam, UriBuilderRequest.resolveProxyRequest( new io.vertx.reactivex.core.http.HttpServerRequest(request), request.path(), request.params().entries().stream().collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)))); // Now redirect to the login url String uri = UriBuilderRequest.resolveProxyRequest( new io.vertx.reactivex.core.http.HttpServerRequest(request), loginRedirectURL, Collections.singletonMap(OAuth2Constants.CLIENT_ID, request.getParam(OAuth2Constants.CLIENT_ID))); handler.handle(Future.failedFuture(new HttpStatusException(302, uri))); } catch (Exception e) { logger.warn("Failed to decode login redirect url", e); handler.handle(Future.failedFuture(new HttpStatusException(302, loginRedirectURL))); } } else { handler.handle(Future.failedFuture("No session - did you forget to include a SessionHandler?")); } } }
@Override public void parseCredentials(RoutingContext context, Handler<AsyncResult<JsonObject>> handler) { Session session = context.session(); if (session != null) { try { // Save current request in session - we'll get redirected back here after successful login HttpServerRequest request = context.request(); session.put(returnURLParam, UriBuilderRequest.resolveProxyRequest( new io.vertx.reactivex.core.http.HttpServerRequest(request), request.path(), request.params().entries().stream().collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)))); // Now redirect to the login url String uri = UriBuilderRequest.resolveProxyRequest( new io.vertx.reactivex.core.http.HttpServerRequest(request), loginRedirectURL, Collections.singletonMap(OAuth2Constants.CLIENT_ID, request.getParam(OAuth2Constants.CLIENT_ID))); handler.handle(Future.failedFuture(new HttpStatusException(302, uri))); } catch (Exception e) { logger.warn("Failed to decode login redirect url", e); handler.handle(Future.failedFuture(new HttpStatusException(302, loginRedirectURL))); } } else { handler.handle(Future.failedFuture("No session - did you forget to include a SessionHandler?")); } } }
parameters.put("error", "login_failed"); String uri = UriBuilderRequest.resolveProxyRequest( new io.vertx.reactivex.core.http.HttpServerRequest(req), req.uri(), parameters);
parameters.put("error", "login_failed"); String uri = UriBuilderRequest.resolveProxyRequest( new io.vertx.reactivex.core.http.HttpServerRequest(req), req.uri(), parameters);