Package io.vertx.ext.auth.oauth2.providers

## Interface KeycloakAuth

- All Superinterfaces:
    `OpenIDConnectAuth`

      public interface KeycloakAuth
      extends OpenIDConnectAuth

  Simplified factory to create an `OAuth2Auth` for Keycloak.
  Author:
    Paulo Lopes

- - ### Method Summary

    Static Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static OAuth2Auth` | `create​(Vertx vertx, JsonObject config)` | Create a OAuth2Auth provider for Keycloak
    `static OAuth2Auth` | `create​(Vertx vertx, JsonObject config, HttpClientOptions httpClientOptions)` | Create a OAuth2Auth provider for Keycloak
    `static OAuth2Auth` | `create​(Vertx vertx, OAuth2FlowType flow, JsonObject config)` | Create a OAuth2Auth provider for Keycloak
    `static OAuth2Auth` | `create​(Vertx vertx, OAuth2FlowType flow, JsonObject config, HttpClientOptions httpClientOptions)` | Create a OAuth2Auth provider for Keycloak
    `static Future<OAuth2Auth>` | `discover​(Vertx vertx, OAuth2Options config)` | Create a OAuth2Auth provider for OpenID Connect Discovery.

- - ### Method Detail

    - #### create

          static OAuth2Auth create​(Vertx vertx,
                                   JsonObject config)

      Create a OAuth2Auth provider for Keycloak
      Parameters:
        `config` - the json config file exported from Keycloak admin console

    - #### create

          static OAuth2Auth create​(Vertx vertx,
                                   OAuth2FlowType flow,
                                   JsonObject config)

      Create a OAuth2Auth provider for Keycloak
      Parameters:
        `flow` - the oauth2 flow to use
        `config` - the json config file exported from Keycloak admin console

    - #### create

          static OAuth2Auth create​(Vertx vertx,
                                   JsonObject config,
                                   HttpClientOptions httpClientOptions)

      Create a OAuth2Auth provider for Keycloak
      Parameters:
        `config` - the json config file exported from Keycloak admin console
        `httpClientOptions` - custom http client options

    - #### create

          static OAuth2Auth create​(Vertx vertx,
                                   OAuth2FlowType flow,
                                   JsonObject config,
                                   HttpClientOptions httpClientOptions)

      Create a OAuth2Auth provider for Keycloak
      Parameters:
        `flow` - the oauth2 flow to use
        `config` - the json config file exported from Keycloak admin console
        `httpClientOptions` - custom http client options

    - #### discover

          static Future<OAuth2Auth> discover​(Vertx vertx,
                                             OAuth2Options config)

      Create a OAuth2Auth provider for OpenID Connect Discovery. The discovery will use the default site in the configuration options and attempt to load the well known descriptor. If a site is provided (for example when running on a custom instance) that site will be used to do the lookup.

      If the discovered config includes a json web key url, it will be also fetched and the JWKs will be loaded into the OAuth provider so tokens can be decoded.

      Parameters:
        `vertx` - the vertx instance
        `config` - the initial config
      Returns:
        promise with the instantiated Oauth2 provider instance handler
      See Also:
        `KeycloakAuth#discover(Vertx, OAuth2Options, Handler)`