com.holonplatform.auth.jwt

## Interface JwtConfigProperties

- All Superinterfaces:
    ConfigPropertySet
  All Known Implementing Classes:
    JwtConfigProperties.JwtConfigPropertiesImpl

      public interface JwtConfigProperties
      extends ConfigPropertySet

  A `ConfigPropertySet` for JWT configuration.
  Since:
    5.0.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `JwtConfigProperties.JwtConfigPropertiesImpl` Default implementation

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.config.ConfigPropertySet

      `ConfigPropertySet.Builder<C extends ConfigPropertySet>, ConfigPropertySet.ConfigurationException`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static long` | `DEFAULT_EXPIRE_TIME` Default JWT expire time
    `static ConfigProperty<Long>` | `EXPIRE_TIME_DAYS` JWT token expire time in days (numeric)
    `static ConfigProperty<Long>` | `EXPIRE_TIME_HOURS` JWT token expire time in hours (numeric)
    `static ConfigProperty<Long>` | `EXPIRE_TIME_MINUTES` JWT token expire time in minutes (numeric)
    `static ConfigProperty<Long>` | `EXPIRE_TIME_MS` JWT token expire time in milliseconds (numeric)
    `static ConfigProperty<Long>` | `EXPIRE_TIME_SECONDS` JWT token expire time in seconds (numeric)
    `static ConfigProperty<Boolean>` | `INCLUDE_DETAILS` Include `Authentication` details in JWT token as claims (boolean)
    `static ConfigProperty<Boolean>` | `INCLUDE_PERMISSIONS` Include `Authentication` permissions in JWT token as claims (boolean)
    `static ConfigProperty<String>` | `ISSUER` JWT issuer
    `static String` | `KEY_SOURCE_CLASSPATH_PREFIX`
    `static String` | `KEY_SOURCE_FILE_PREFIX`
    `static String` | `NAME` Configuration property set name
    `static ConfigProperty<Boolean>` | `NOT_BEFORE_NOW` Whether to set the `nbf` (not before) JWT claim to the timestamp at which the token is created.
    `static ConfigProperty<String>` | `PRIVATE_KEY` Deprecated. Use `PRIVATE_KEY_SOURCE` and related configuration properties to configure the JWT sign private key. The key encoding can be specified using the `PRIVATE_KEY_ENCODING` configuration property
    `static ConfigProperty<KeyEncoding>` | `PRIVATE_KEY_ENCODING` JWT sign private key encoding.
    `static ConfigProperty<String>` | `PRIVATE_KEY_FILE` Deprecated. Use `PRIVATE_KEY_SOURCE` and related configuration properties to configure the JWT sign private key. The key source can be specified using the default prefixes `KEY_SOURCE_FILE_PREFIX` and `KEY_SOURCE_CLASSPATH_PREFIX`
    `static ConfigProperty<KeyFormat>` | `PRIVATE_KEY_FORMAT` JWT sign private key format.
    `static ConfigProperty<String>` | `PRIVATE_KEY_SOURCE` JWT sign private key
    `static ConfigProperty<String>` | `PRIVATE_KEY_STORE_ALIAS` The key store alias name to use when the JWT sign private key is provided using a key store format, such as `KeyFormat.PKCS12`
    `static ConfigProperty<String>` | `PRIVATE_KEY_STORE_ALIAS_PASSWORD` The key recovering password to use when the JWT sign private key is provided using a key store format, such as `KeyFormat.PKCS12`
    `static ConfigProperty<String>` | `PRIVATE_KEY_STORE_PASSWORD` The key store password to use when the JWT sign private key is provided using a key store format, such as `KeyFormat.PKCS12`
    `static ConfigProperty<String>` | `PUBLIC_KEY` Deprecated. Use `PUBLIC_KEY_SOURCE` and related configuration properties to configure the JWT sign public key. The key encoding can be specified using the `PUBLIC_KEY_ENCODING` configuration property
    `static ConfigProperty<KeyEncoding>` | `PUBLIC_KEY_ENCODING` JWT sign public key encoding.
    `static ConfigProperty<String>` | `PUBLIC_KEY_FILE` Deprecated. Use `PUBLIC_KEY_SOURCE` and related configuration properties to configure the JWT sign public key. The key source can be specified using the default prefixes `KEY_SOURCE_FILE_PREFIX` and `KEY_SOURCE_CLASSPATH_PREFIX`
    `static ConfigProperty<KeyFormat>` | `PUBLIC_KEY_FORMAT` JWT sign public key format.
    `static ConfigProperty<String>` | `PUBLIC_KEY_SOURCE` JWT sign public key
    `static ConfigProperty<String>` | `PUBLIC_KEY_STORE_ALIAS` The key store alias name to use when the JWT sign public key is provided using a key store format, such as `KeyFormat.PKCS12`
    `static ConfigProperty<String>` | `PUBLIC_KEY_STORE_ALIAS_PASSWORD` The key recovering password to use when the JWT sign public key is provided using a key store format, such as `KeyFormat.PKCS12`
    `static ConfigProperty<String>` | `PUBLIC_KEY_STORE_PASSWORD` The key store password to use when the JWT sign public key is provided using a key store format, such as `KeyFormat.PKCS12`
    `static ConfigProperty<String>` | `SHARED_KEY` JWT sign shared key (base64 encoded)
    `static ConfigProperty<JwtSignatureAlgorithm>` | `SIGNATURE_ALGORITHM` JWT signature algorithm name.

  - ### Method Summary

    All Methods Static Methods Instance Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static ConfigPropertySet.Builder<JwtConfigProperties>` | `builder()` Builder to create property set instances bound to a property data source
    `default String` | `getName()` Configuration property set name, used as property definition prefix.

    - ### Methods inherited from interface com.holonplatform.core.config.ConfigPropertySet

      `getConfigPropertyName, getConfigPropertyValue, getConfigPropertyValue, getConfigPropertyValueOrElse, getSubPropertiesUsingPrefix, hasConfigProperty`

- - ### Field Detail

    - #### NAME

          static final String NAME

      Configuration property set name
      See Also:
        Constant Field Values

    - #### DEFAULT_EXPIRE_TIME

          static final long DEFAULT_EXPIRE_TIME

      Default JWT expire time
      See Also:
        Constant Field Values

    - #### ISSUER

          static final ConfigProperty<String> ISSUER

      JWT issuer

    - #### SIGNATURE_ALGORITHM

          static final ConfigProperty<JwtSignatureAlgorithm> SIGNATURE_ALGORITHM

      JWT signature algorithm name. Must be one of those listed in the `JwtSignatureAlgorithm` enumeration.
      See Also:
        `JwtSignatureAlgorithm`

    - #### SHARED_KEY

          static final ConfigProperty<String> SHARED_KEY

      JWT sign shared key (base64 encoded)

    - #### KEY_SOURCE_FILE_PREFIX

          static final String KEY_SOURCE_FILE_PREFIX

      See Also:
        Constant Field Values

    - #### KEY_SOURCE_CLASSPATH_PREFIX

          static final String KEY_SOURCE_CLASSPATH_PREFIX

      See Also:
        Constant Field Values

    - #### PRIVATE_KEY_SOURCE

          static final ConfigProperty<String> PRIVATE_KEY_SOURCE

      JWT sign private key

    - #### PRIVATE_KEY_FORMAT

          static final ConfigProperty<KeyFormat> PRIVATE_KEY_FORMAT

      JWT sign private key format. Must be one of `KeyFormat` enumeration values.

      The default private key format is `KeyFormat.PKCS8`.

    - #### PRIVATE_KEY_ENCODING

          static final ConfigProperty<KeyEncoding> PRIVATE_KEY_ENCODING

      JWT sign private key encoding. Must be one of `KeyEncoding` enumeration values.

      The default private key encoding is `KeyEncoding.BASE64`.

    - #### PRIVATE_KEY_STORE_PASSWORD

          static final ConfigProperty<String> PRIVATE_KEY_STORE_PASSWORD

      The key store password to use when the JWT sign private key is provided using a key store format, such as `KeyFormat.PKCS12`

    - #### PRIVATE_KEY_STORE_ALIAS

          static final ConfigProperty<String> PRIVATE_KEY_STORE_ALIAS

      The key store alias name to use when the JWT sign private key is provided using a key store format, such as `KeyFormat.PKCS12`

    - #### PRIVATE_KEY_STORE_ALIAS_PASSWORD

          static final ConfigProperty<String> PRIVATE_KEY_STORE_ALIAS_PASSWORD

      The key recovering password to use when the JWT sign private key is provided using a key store format, such as `KeyFormat.PKCS12`

    - #### PUBLIC_KEY_SOURCE

          static final ConfigProperty<String> PUBLIC_KEY_SOURCE

      JWT sign public key

    - #### PUBLIC_KEY_FORMAT

          static final ConfigProperty<KeyFormat> PUBLIC_KEY_FORMAT

      JWT sign public key format. Must be one of `KeyFormat` enumeration values.

      The default public key format is `KeyFormat.X509`.

    - #### PUBLIC_KEY_ENCODING

          static final ConfigProperty<KeyEncoding> PUBLIC_KEY_ENCODING

      JWT sign public key encoding. Must be one of `KeyEncoding` enumeration values.

      The default public key encoding is `KeyEncoding.BASE64`.

    - #### PUBLIC_KEY_STORE_PASSWORD

          static final ConfigProperty<String> PUBLIC_KEY_STORE_PASSWORD

      The key store password to use when the JWT sign public key is provided using a key store format, such as `KeyFormat.PKCS12`

    - #### PUBLIC_KEY_STORE_ALIAS

          static final ConfigProperty<String> PUBLIC_KEY_STORE_ALIAS

      The key store alias name to use when the JWT sign public key is provided using a key store format, such as `KeyFormat.PKCS12`

    - #### PUBLIC_KEY_STORE_ALIAS_PASSWORD

          static final ConfigProperty<String> PUBLIC_KEY_STORE_ALIAS_PASSWORD

      The key recovering password to use when the JWT sign public key is provided using a key store format, such as `KeyFormat.PKCS12`

    - #### PUBLIC_KEY

          @Deprecated
          static final ConfigProperty<String> PUBLIC_KEY

      Deprecated. Use `PUBLIC_KEY_SOURCE` and related configuration properties to configure the JWT sign public key. The key encoding can be specified using the `PUBLIC_KEY_ENCODING` configuration property
      JWT sign public key (base64 encoded)

    - #### PUBLIC_KEY_FILE

          @Deprecated
          static final ConfigProperty<String> PUBLIC_KEY_FILE

      Deprecated. Use `PUBLIC_KEY_SOURCE` and related configuration properties to configure the JWT sign public key. The key source can be specified using the default prefixes `KEY_SOURCE_FILE_PREFIX` and `KEY_SOURCE_CLASSPATH_PREFIX`
      JWT sign public key (file name)

    - #### PRIVATE_KEY

          @Deprecated
          static final ConfigProperty<String> PRIVATE_KEY

      Deprecated. Use `PRIVATE_KEY_SOURCE` and related configuration properties to configure the JWT sign private key. The key encoding can be specified using the `PRIVATE_KEY_ENCODING` configuration property
      JWT sign private key (base64 encoded)

    - #### PRIVATE_KEY_FILE

          @Deprecated
          static final ConfigProperty<String> PRIVATE_KEY_FILE

      Deprecated. Use `PRIVATE_KEY_SOURCE` and related configuration properties to configure the JWT sign private key. The key source can be specified using the default prefixes `KEY_SOURCE_FILE_PREFIX` and `KEY_SOURCE_CLASSPATH_PREFIX`
      JWT sign private key (file name)

    - #### EXPIRE_TIME_MS

          static final ConfigProperty<Long> EXPIRE_TIME_MS

      JWT token expire time in milliseconds (numeric)

    - #### EXPIRE_TIME_SECONDS

          static final ConfigProperty<Long> EXPIRE_TIME_SECONDS

      JWT token expire time in seconds (numeric)

    - #### EXPIRE_TIME_MINUTES

          static final ConfigProperty<Long> EXPIRE_TIME_MINUTES

      JWT token expire time in minutes (numeric)

    - #### EXPIRE_TIME_HOURS

          static final ConfigProperty<Long> EXPIRE_TIME_HOURS

      JWT token expire time in hours (numeric)

    - #### EXPIRE_TIME_DAYS

          static final ConfigProperty<Long> EXPIRE_TIME_DAYS

      JWT token expire time in days (numeric)

    - #### NOT_BEFORE_NOW

          static final ConfigProperty<Boolean> NOT_BEFORE_NOW

      Whether to set the `nbf` (not before) JWT claim to the timestamp at which the token is created.

    - #### INCLUDE_DETAILS

          static final ConfigProperty<Boolean> INCLUDE_DETAILS

      Include `Authentication` details in JWT token as claims (boolean)

    - #### INCLUDE_PERMISSIONS

          static final ConfigProperty<Boolean> INCLUDE_PERMISSIONS

      Include `Authentication` permissions in JWT token as claims (boolean)

  - ### Method Detail

    - #### getName

          default String getName()

      Description copied from interface: `ConfigPropertySet`
      Configuration property set name, used as property definition prefix.
      Specified by:
        `getName` in interface `ConfigPropertySet`
      Returns:
        Configuration properties set name (not null)

    - #### builder

          static ConfigPropertySet.Builder<JwtConfigProperties> builder()

      Builder to create property set instances bound to a property data source
      Returns:
        ConfigPropertySet builder

Copyright © 2019 The Holon Platform. All rights reserved.