CLASS

HaapiConfiguration

Contents

public final class HaapiConfiguration: HaapiConfigurable, OAuthTokenConfigurable

Configuration options for the library.

Properties

name

public let name: String

clientId

public let clientId: String

baseURL

public let baseURL: URL

tokenEndpointURL

public let tokenEndpointURL: URL

authorizationEndpointURL

public let authorizationEndpointURL: URL

appRedirect

public let appRedirect: String

httpHeadersProvider

public let httpHeadersProvider: HttpHeadersProvider?

isAutoRedirect

public let isAutoRedirect: Bool

urlSession

public let urlSession: URLSession

revocationEndpointURL

public let revocationEndpointURL: URL?

authorizationParametersProvider

public let authorizationParametersProvider: OAuthAuthorizationParametersProvider?

minTokenTtl

public let minTokenTtl: TimeInterval

attestationConfiguration

public let attestationConfiguration: AttestationConfiguration

tokenBoundConfiguration

public let tokenBoundConfiguration: TokenBoundConfiguration

tokenEndpointResponseListener

public let tokenEndpointResponseListener: (any OAuthTokenManager.TokenEndpointResponseListener)?

Methods

init(name:clientId:baseURL:tokenEndpointURL:authorizationEndpointURL:appRedirect:httpHeadersProvider:authorizationParametersProvider:isAutoRedirect:urlSession:revocationEndpointURL:minTokenTtl:attestationConfiguration:tokenBoundConfiguration:tokenEndpointResponseListener:)

public init(name: String,
            clientId: String,
            baseURL: URL,
            tokenEndpointURL: URL,
            authorizationEndpointURL: URL,
            appRedirect: String,
            httpHeadersProvider: HttpHeadersProvider?,
            authorizationParametersProvider: OAuthAuthorizationParametersProvider?,
            isAutoRedirect: Bool = true,
            urlSession: URLSession = URLSession(configuration: .haapi),
            revocationEndpointURL: URL? = nil,
            minTokenTtl: TimeInterval = TimeInterval(floatLiteral: 10.0),
            attestationConfiguration: AttestationConfiguration = AttestationConfiguration(),
            tokenBoundConfiguration: TokenBoundConfiguration = UnboundedTokenConfiguration(),
            tokenEndpointResponseListener: (any OAuthTokenManager.TokenEndpointResponseListener)? = nil)

Creates a HaapiConfiguration with the specified parmeters.

Parameters

Name Description
name The name of the configuration. This value should be unique for each HaapiManager. Otherwise, the application will terminate.
clientId The client ID as configured in the Curity Identity Server. configuration.
baseURL The base URL of the Curity Identity Server. Used to resolve relative links. Not the issuer ID.
tokenEndpointURL The token endpoint URL.
authorizationEndpointURL The authorization endpoint URL.
appRedirect The client application’s redirect URI, used in authorization requests. (Deep link)
httpHeadersProvider An optional closure that produces the headers parameters that will be used when haapi endpoints.
authorizationParametersProvider An optional closure that produces the authorization parameters to send in Authorization requests.
isAutoRedirect Whether HaapiManager will automatically follow redirection steps. By default, the value is true.
urlSession The URLSession that is used to perform network requests. By default, the value is URLSessionConfiguration.haapi.
revocationEndpointURL The token revocation endpoint URL.
minTokenTtl The minimum TTL a token must have to be able to be used in a request. By default, the value is 10 seconds.
attestationConfiguration Configures the DeviceCheck attestation mechanism. By default, attestation is enabled and max retries is 3.
tokenBoundConfiguration Configures the Token Endpoint Dpop binding mechanism behaviour for issue-token-bound-authorization-code server configuration. The default value is UnboundedTokenConfiguration.
tokenEndpointResponseListener The listener to notify when receiving a response from the token endpoint. The default value is nil.