Interface AuthorizationConfig

  • All Superinterfaces:
    org.aeonbits.owner.Accessible, org.aeonbits.owner.Config, org.aeonbits.owner.KrauseningConfig, Serializable

    @KrauseningSources("stout-authorization.properties")
    public interface AuthorizationConfig
    extends org.aeonbits.owner.KrauseningConfig
    Configuration options for authorization within Stout.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.aeonbits.owner.Config

        org.aeonbits.owner.Config.ConverterClass, org.aeonbits.owner.Config.DefaultValue, org.aeonbits.owner.Config.DisableableFeature, org.aeonbits.owner.Config.DisableFeature, org.aeonbits.owner.Config.HotReload, org.aeonbits.owner.Config.HotReloadType, org.aeonbits.owner.Config.Key, org.aeonbits.owner.Config.LoadPolicy, org.aeonbits.owner.Config.LoadType, org.aeonbits.owner.Config.PreprocessorClasses, org.aeonbits.owner.Config.Separator, org.aeonbits.owner.Config.Sources, org.aeonbits.owner.Config.TokenizerClass
      • Nested classes/interfaces inherited from interface org.aeonbits.owner.KrauseningConfig

        org.aeonbits.owner.KrauseningConfig.KrauseningMergePolicy, org.aeonbits.owner.KrauseningConfig.KrauseningSources
    • Method Detail

      • getPdpConfigurationLocation

        @Key("pdp.configuration.location")
        @DefaultValue("classpath:authorization/pdp.xml")
        String getPdpConfigurationLocation()
        Location of the pdp.xml file to use for Authzforce Policy Decision Point configuration.
        Returns:
        path to file in authzforce path naming standards
      • getPdpCatalogLocation

        @Key("pdp.catalog.location")
        @DefaultValue("classpath:pdp-ext-catalog.xml")
        String getPdpCatalogLocation()
        Location of the catalog.xml file to use for Authzforce Policy Decision Point configuration.
        Returns:
        path to file in authzforce path naming standards
      • getPdpExtensionXsdLocation

        @Key("pdp.extension.xsd.location")
        @DefaultValue("classpath:pdp-ext.xsd")
        String getPdpExtensionXsdLocation()
        Location of the pdp-ext.xsd file to use for Authzforce Policy Decision Point configuration.
        Returns:
        path to file in authzforce path naming standards
      • getAttributeDefinitionLocation

        @Key("attribute.definition.location")
        @DefaultValue("authorization/attributes")
        String getAttributeDefinitionLocation()
        Directory in which to look for attribute definition json files.
        Returns:
        directory path
      • getAccessExternalSchemaType

        @Key("javax.xml.accessExternalSchema")
        @DefaultValue("all")
        String getAccessExternalSchemaType()
        Determines how external schemas should be accessed. This is a comma delimited list, ie "http,file". The list must include http for AuthzCore (see System Requirements here: https://github.com/authzforce/core) so if the default is modified, ensure that http is included.
        Returns:
        javax.xml.accessExternalSchema scheme
      • getTokenSkewInSeconds

        @Key("token.skew")
        @DefaultValue("60")
        long getTokenSkewInSeconds()
        Returns the clock skew to use for both "not before" and "expiration" times.
        Returns:
        clock skew in seconds. Defaults to 1 minute.
      • getTokenExpirationInSeconds

        @Key("token.expiration")
        @DefaultValue("3600")
        long getTokenExpirationInSeconds()
        Returns the time to add to the current time in order to set an expiration for a token.
        Returns:
        expiration offset (not including skew), in seconds. Defaults to 1 hour.
      • getTokenIssuer

        @Key("token.issuer")
        String getTokenIssuer()
        Returns the issuer for tokens.
        Returns:
        token issuer
      • getKeyAlias

        @Key("private.key.alias")
        String getKeyAlias()
        Returns alias for private key to be used when signing JWT.
        Returns:
        key alias
      • getKeyStoreLocation

        @Key("keystore.location")
        @DefaultValue("javax.net.ssl.keyStore")
        String getKeyStoreLocation()
        Returns system path to keystore.
        Returns:
        keystore location
      • getKeyStorePasswordLocation

        @Key("keystore.password.location")
        @DefaultValue("javax.net.ssl.keyStorePassword")
        String getKeyStorePasswordLocation()
        Returns system path to keystore password. It is assumed that this password will match the private key password.
        Returns:
        keystore / private key password location
      • getKeyStoreType

        @Key("keystore.type")
        @DefaultValue("JKS")
        String getKeyStoreType()
        Returns keystore type.
        Returns:
        default type of keystore
      • getDecisionCacheExpirationInMinutes

        @Key("decision.cache.expiration")
        @DefaultValue("5")
        long getDecisionCacheExpirationInMinutes()
        Returns the number of minutes before expiration for a policy decision (after it is added to cache).
        Returns:
        expiration time, in minutes. Defaults to 5 minutes.
      • getAttributeCacheExpirationInMinutes

        @Key("atttribute.cache.expiration")
        @DefaultValue("5")
        long getAttributeCacheExpirationInMinutes()
        Returns the number of minutes before expiration for a attribute value (after it is added to cache).
        Returns:
        expiration time, in minutes. Defaults to 5 minutes.