io.vertx.ext.auth.oauth2.providers

## Interface AzureADAuth

- All Superinterfaces:
    OpenIDConnectAuth

      public interface AzureADAuth
      extends OpenIDConnectAuth

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

- - ### Method Summary

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

      Create a OAuth2Auth provider for Microsoft Azure Active Directory
      Parameters:
        `clientId` - the client id given to you by Azure
        `clientSecret` - the client secret given to you by Azure
        `guid` - the guid of your application given to you by Azure

    - #### create

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

      Create a OAuth2Auth provider for Microsoft Azure Active Directory
      Parameters:
        `clientId` - the client id given to you by Azure
        `clientSecret` - the client secret given to you by Azure
        `guid` - the guid of your application given to you by Azure
        `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.

      With this provider, if the given configuration is using the flow type `OAuth2FlowType.AAD_OBO` then the extra parameters object will include `requested_token_use = on_behalf_of` as required by https://docs.microsoft.com/en-us/azure/active-directory.

      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 © 2021 Eclipse. All rights reserved.