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

    All Methods Static Methods Default Methods
    Modifier and Type | Method and 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.
    `static void` | `discover(Vertx vertx, OAuth2Options config, Handler<AsyncResult<OAuth2Auth>> handler)` 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 void discover(Vertx vertx,
                               OAuth2Options config,
                               Handler<AsyncResult<OAuth2Auth>> handler)

      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.

      Specified by:
        `discover` in interface `OpenIDConnectAuth`
      Parameters:
        `vertx` - the vertx instance
        `config` - the initial config
        `handler` - the instantiated Oauth2 provider instance handler

    - #### 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.

      Specified by:
        `discover` in interface `OpenIDConnectAuth`
      Parameters:
        `vertx` - the vertx instance
        `config` - the initial config
      Returns:
        promise with the instantiated Oauth2 provider instance handler
      See Also:
        `discover(Vertx, OAuth2Options, Handler)`

Copyright © 2022 Eclipse. All rights reserved.