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

## Interface AppleIdAuth

- All Superinterfaces:
    `OpenIDConnectAuth`

      public interface AppleIdAuth
      extends OpenIDConnectAuth

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

- - ### Method Summary

    Static Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static OAuth2Auth` | `create​(Vertx vertx, String clientId, String teamId, PubSecKeyOptions privateKey)` | Create a OAuth2Auth provider for Apple
    `static OAuth2Auth` | `create​(Vertx vertx, String clientId, String teamId, PubSecKeyOptions privateKey, HttpClientOptions httpClientOptions)` | Create a OAuth2Auth provider for Apple
    `static Future<OAuth2Auth>` | `discover​(Vertx vertx, PubSecKeyOptions privateKey, OAuth2Options config)` | Create a OAuth2Auth provider for OpenID Connect Discovery.

- - ### Method Detail

    - #### create

          static OAuth2Auth create​(Vertx vertx,
                                   String clientId,
                                   String teamId,
                                   PubSecKeyOptions privateKey)

      Create a OAuth2Auth provider for Apple
      Parameters:
        `clientId` - the client id given to you by Apple
        `teamId` - the team id given to you by Apple
        `privateKey` - The private key for the client. This is the private key you generated when creating the

    - #### create

          static OAuth2Auth create​(Vertx vertx,
                                   String clientId,
                                   String teamId,
                                   PubSecKeyOptions privateKey,
                                   HttpClientOptions httpClientOptions)

      Create a OAuth2Auth provider for Apple
      Parameters:
        `clientId` - Client ID (also known as the Services ID in Apple's Developer Portal).
        `teamId` - Team ID for the Apple Developer Account found on top right corner of the developers page
        `privateKey` - The private key for the client. This is the private key you generated when creating the App id. With the identifier for the private key at Apple
        `httpClientOptions` - custom http client options

    - #### discover

          static Future<OAuth2Auth> discover​(Vertx vertx,
                                             PubSecKeyOptions privateKey,
                                             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:
        future with instantiated Oauth2 provider instance handler