io.vertx.ext.auth.oauth2.providers

## Interface GoogleAuth

- All Superinterfaces:
    OpenIDConnectAuth

      public interface GoogleAuth
      extends OpenIDConnectAuth

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

- - ### Method Summary

    All Methods Static Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static OAuth2Auth` | `create(Vertx vertx, JsonObject serviceAccountJson)` Create a OAuth2Auth provider for Google Service Account (Server to Server)
    `static OAuth2Auth` | `create(Vertx vertx, JsonObject serviceAccountJson, HttpClientOptions httpClientOptions)` Create a OAuth2Auth provider for Google Service Account (Server to Server)
    `static OAuth2Auth` | `create(Vertx vertx, String clientId, String clientSecret)` Create a OAuth2Auth provider for Google
    `static OAuth2Auth` | `create(Vertx vertx, String clientId, String clientSecret, HttpClientOptions httpClientOptions)` Create a OAuth2Auth provider for Google
    `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,
                                   String clientId,
                                   String clientSecret)

      Create a OAuth2Auth provider for Google
      Parameters:
        `clientId` - the client id given to you by Google
        `clientSecret` - the client secret given to you by Google

    - #### create

          static OAuth2Auth create(Vertx vertx,
                                   String clientId,
                                   String clientSecret,
                                   HttpClientOptions httpClientOptions)

      Create a OAuth2Auth provider for Google
      Parameters:
        `clientId` - the client id given to you by Google
        `clientSecret` - the client secret given to you by Google
        `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:
        future with the instantiated Oauth2 provider instance handler
      See Also:
        `discover(Vertx, OAuth2Options, Handler)`

    - #### create

          static OAuth2Auth create(Vertx vertx,
                                   JsonObject serviceAccountJson)

      Create a OAuth2Auth provider for Google Service Account (Server to Server)
      Parameters:
        `serviceAccountJson` - the configuration json file from your Google API page

    - #### create

          static OAuth2Auth create(Vertx vertx,
                                   JsonObject serviceAccountJson,
                                   HttpClientOptions httpClientOptions)

      Create a OAuth2Auth provider for Google Service Account (Server to Server)
      Parameters:
        `serviceAccountJson` - the configuration json file from your Google API page
        `httpClientOptions` - custom http client options

Copyright © 2023 Eclipse. All rights reserved.