io.vertx.ext.auth.oauth2.providers

## Interface IBMCloudAuth

- All Superinterfaces:
    OpenIDConnectAuth

      public interface IBMCloudAuth
      extends OpenIDConnectAuth

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

- - ### Method Summary

    All Methods Static Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static OAuth2Auth` | `create(Vertx vertx, String region, String clientId, String clientSecret, String guid)` Create a OAuth2Auth provider for IBM Cloud
    `static OAuth2Auth` | `create(Vertx vertx, String region, String clientId, String clientSecret, String guid, HttpClientOptions httpClientOptions)` Create a OAuth2Auth provider for IBM Cloud
    `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 region,
                                   String clientId,
                                   String clientSecret,
                                   String guid)

      Create a OAuth2Auth provider for IBM Cloud
      Parameters:
        `region` - the region to use
        `clientId` - the client id given to you by IBM Cloud
        `clientSecret` - the client secret given to you by IBM Cloud
        `guid` - the guid of your application given to you by IBM Cloud

    - #### create

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

      Create a OAuth2Auth provider for IBM Cloud
      Parameters:
        `region` - the region to use
        `clientId` - the client id given to you by IBM Cloud
        `clientSecret` - the client secret given to you by IBM Cloud
        `guid` - the guid of your application given to you by IBM Cloud
        `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 instantiated Oauth2 provider instance handler
      See Also:
        `discover(Vertx, OAuth2Options, Handler)`

Copyright © 2025 Eclipse. All rights reserved.