/*
 * Copyright 2014 Red Hat, Inc.
 *
 *  All rights reserved. This program and the accompanying materials
 *  are made available under the terms of the Eclipse Public License v1.0
 *  and Apache License v2.0 which accompanies this distribution.
 *
 *  The Eclipse Public License is available at
 *  http://www.eclipse.org/legal/epl-v10.html
 *
 *  The Apache License v2.0 is available at
 *  http://www.opensource.org/licenses/apache2.0.php
 *
 *  You may elect to redistribute this code under either of these licenses.
 */

package io.vertx.ext.web.handler;

import io.vertx.codegen.annotations.Fluent;
import io.vertx.codegen.annotations.VertxGen;
import io.vertx.core.json.JsonObject;
import io.vertx.ext.auth.oauth2.OAuth2Auth;
import io.vertx.ext.web.Route;
import io.vertx.ext.web.handler.impl.OAuth2AuthHandlerImpl;

An auth handler that provides OAuth2 Authentication support. This handler is suitable for AuthCode flows.
Author:Paulo Lopes
/** * An auth handler that provides OAuth2 Authentication support. This handler is suitable for AuthCode flows. * * @author Paulo Lopes */
@VertxGen public interface OAuth2AuthHandler extends AuthHandler {
Create a OAuth2 auth handler with host pinning
Params:
  • authProvider – the auth provider to use
  • callbackURL – the callback URL you entered in your provider admin console, usually it should be something like: `https://myserver:8888/callback`
Returns:the auth handler
/** * Create a OAuth2 auth handler with host pinning * * @param authProvider the auth provider to use * @param callbackURL the callback URL you entered in your provider admin console, usually it should be something like: `https://myserver:8888/callback` * @return the auth handler */
static OAuth2AuthHandler create(OAuth2Auth authProvider, String callbackURL) { return new OAuth2AuthHandlerImpl(authProvider, callbackURL); }
Create a OAuth2 auth handler without host pinning. Most providers will not look to the redirect url but always redirect to the preconfigured callback. So this factory does not provide a callback url.
Params:
  • authProvider – the auth provider to use
Returns:the auth handler
/** * Create a OAuth2 auth handler without host pinning. * Most providers will not look to the redirect url but always redirect to * the preconfigured callback. So this factory does not provide a callback url. * * @param authProvider the auth provider to use * @return the auth handler */
static OAuth2AuthHandler create(OAuth2Auth authProvider) { return new OAuth2AuthHandlerImpl(authProvider, null); }
Extra parameters needed to be passed while requesting a token.
Params:
  • extraParams – extra optional parameters.
Returns:self
/** * Extra parameters needed to be passed while requesting a token. * * @param extraParams extra optional parameters. * @return self */
@Fluent OAuth2AuthHandler extraParams(JsonObject extraParams);
add the callback handler to a given route.
Params:
  • route – a given route e.g.: `/callback`
Returns:self
/** * add the callback handler to a given route. * @param route a given route e.g.: `/callback` * @return self */
@Fluent OAuth2AuthHandler setupCallback(Route route); }