CLASS
HaapiConfiguration
Contents
- Properties
nameclientIdbaseURLtokenEndpointURLauthorizationEndpointURLappRedirecthttpHeadersProviderisAutoRedirecturlSessionrevocationEndpointURLauthorizationParametersProviderminTokenTtlattestationConfigurationtokenBoundConfigurationtokenEndpointResponseListenerclientAuthenticationMethodapplicationBundle
- Methods
init(name:clientId:baseURL:tokenEndpointURL:authorizationEndpointURL:appRedirect:httpHeadersProvider:authorizationParametersProvider:isAutoRedirect:urlSession:revocationEndpointURL:minTokenTtl:attestationConfiguration:tokenBoundConfiguration:tokenEndpointResponseListener:clientAuthenticationMethod:applicationBundle:)
@objcMembers public final class HaapiConfiguration: NSObject, 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)?
clientAuthenticationMethod
public let clientAuthenticationMethod: ClientAuthenticationMethod
applicationBundle
public let applicationBundle: Bundle?
Methods
init(name:clientId:baseURL:tokenEndpointURL:authorizationEndpointURL:appRedirect:httpHeadersProvider:authorizationParametersProvider:isAutoRedirect:urlSession:revocationEndpointURL:minTokenTtl:attestationConfiguration:tokenBoundConfiguration:tokenEndpointResponseListener:clientAuthenticationMethod:applicationBundle:)
@objc 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,
clientAuthenticationMethod: ClientAuthenticationMethod = ClientAuthenticationMethodNone(),
applicationBundle: Bundle? = nil)
Creates a HaapiConfiguration with the specified parmeters.
- Parameters:
- 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
URLof 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
HaapiManagerwill automatically follow redirection steps. By default, the value istrue. - urlSession: The
URLSessionthat is used to perform network requests. By default, the value isURLSessionConfiguration.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
DeviceCheckattestation mechanism. By default, attestation is enabled and max retries is 3. - tokenBoundConfiguration: Configures the Token Endpoint
Dpopbinding mechanism behaviour for the client configuration. The default value isUnboundedTokenConfiguration. - tokenEndpointResponseListener: The listener to notify when receiving a response from the token endpoint. The default value is
nil. - clientAuthenticationMethod: The client authentication method configuration to use. By default, it is set to
ClientAuthenticationMethodConfigurationNone. - applicationBundle: When the client configuration for
Haapiintegerates theBankIDservices with the risk assessment feature, theBundleis required to enable collection of contextual information about the device.
- name: The name of the configuration. This value should be unique for each
- Important: Omitting the bundle while using the risk assessment functionaly may lead to undesired behaviour and prevent its correct usage. Server support for the risk assessment functionality integration requires a version of the Curity Identity Server starting from 9.7.0.
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 the client configuration. The default value is UnboundedTokenConfiguration. |
| tokenEndpointResponseListener | The listener to notify when receiving a response from the token endpoint. The default value is nil. |
| clientAuthenticationMethod | The client authentication method configuration to use. By default, it is set to ClientAuthenticationMethodConfigurationNone. |
| applicationBundle | When the client configuration for Haapi integerates the BankID services with the risk assessment feature, the Bundle is required to enable collection of contextual information about the device. |