Module HAAPI iOS UIKit Documentation
API reference for the IdsvrHaapiUIKit framework.
Looking for guides, concepts, and how-tos? See the HAAPI SDK developer guide (authored in
haapi-sdk-docs).
Requirements
- iOS 15.0 or later runtime target.
- Xcode 26 or later to build against this framework.
Xcode 27 no longer builds for iOS versions below 15.0, which is why 15.0 is the floor. Releases 5.6.0 and earlier support iOS 14.0 or later.
Identity-server addresses
A flow's HAAPI requests go only to the host of the configured base URL or authorization endpoint: a form
submission or automatic redirection to any other host ends with the foreign_haapi_target error, and a
followed link must target the base URL host or it ends with non_haapi_link. A host containing a non-ASCII
character matches nothing, so configure an internationalized host in its ASCII (xn--) form. The base URL,
the authorization endpoint, the token endpoint, a revocation endpoint and — with dynamic client registration —
the client registration endpoint must use https, or starting the flow and any OAuthLifecycle token operation
fail with insecure_haapi_configuration (see the SDK documentation). For a local development server, call
HaapiUIKitConfigurationBuilder.setAllowInsecureHttpEndpoints(value: true), which admits http and no other
scheme; it defaults to false, App Transport Security still applies, and it never widens where a request may go.
HaapiUI Previewer (experimental)
Renders themed HAAPI screens and component galleries in Xcode Previews. Distributed as Swift source
next to this framework: add the IdsvrHaapiUIKitPreviewer Swift Package Manager product or CocoaPods
pod to your app (or copy the HaapiUIPreviewer/ folder from the distribution repository). Debug
builds get the previewer; Release builds compile it to an empty module, so it never ships in your
app. Setup and usage are covered in the developer guide's Preview Tools page.
Theming reference
Per-component style definitions — every themable key, its type, and default value.
- ActionableButton.LinkView
- ActionableButton.Primary
- ActionableButton.Secondary
- ActionableButton.Text
- BankIdViewController
- CheckboxView
- Colors
- ExpandableView
- FormViewController
- GenericViewController
- HaapiFlowViewController
- HeaderView
- Images
- InputTextField
- InputTextField.Curity
- InputTextField.Filled
- InputTextField.Outlined
- LinkView
- LoadingIndicatorView
- LoadingIndicatorView.ButtonLinkView
- LoadingIndicatorView.ButtonPrimary
- LoadingIndicatorView.ButtonSecondary
- LoadingIndicatorView.ButtonText
- LocalizableStrings
- MessageView.Content
- MessageView.Error
- MessageView.Heading
- MessageView.Info
- MessageView.RecipientOfCommunication
- MessageView.Username
- MessageView.UserCode
- MessageView.Warn
- NotificationBannerView
- NotificationBannerView.Success
- PollingViewController
- ProblemViewController
- SelectorViewController
- StackView
- StackView.Interactions
- StackView.Links
- StackView.Polling
- TabView
- TextAppearance.Body
- TextAppearance.Body.Bold
- TextAppearance.Body.Center
- TextAppearance.BodySubHeadline
- TextAppearance.Callout
- TextAppearance.Callout.Bold
- TextAppearance.Content
- TextAppearance.Link
- TextAppearance.SubHeadline
- TextAppearance.Text
- TextAppearance.Text.Center
- TextAppearance.Title2
- TextAppearance.Title2.Bold.Center
- TextAppearance.Title2.Center
- TextAppearance.UserCode
- TextPickerView
- UIThemingConfigurations
- WebAuthnViewController
UI Extensibility reference
Per-class extensibility hooks for customizing or replacing the bundled view controllers.
- BankIdViewController
- BaseViewController
- Customizing_subclassing
- CustomizingHaapiUIViewController
- DataMappers
- FormViewController
- GenericViewController
- HaapiUIViewController
- PollingViewController
- ProblemViewController
- SelectorViewController
- ViewControllerFactoryRegistry
- WebAuthnViewController
Reference Documentation
Protocols
- Action
- AuthorizationRequestModel
- BankIdModel
- ClientAuthenticationMethod
- ClientOperationActionModelRepresentation
- ClientOperationStep
- ContinueSameModel
- CredentialRequestOptions
- DataMapper
- FollowUpTag
- FormField
- FormModel
- FormOperationModel
- GenericClientOperationHandler
- GenericModel
- GenericOperationModel
- HaapiAccessor
- HaapiConfigurable
- HaapiDeepLinkManageable
- HaapiFlowDeepLinkable
- HaapiFlowResult
- HaapiFlowResultViewController
- HaapiFlowViewControllerDelegate
- HaapiManagerAccessor
- HaapiRepresentation
- HaapiResponse
- HaapiResponseTypeable
- HaapiUIKitApplication
- HaapiUIViewController
- IdsvrError
- InfoMessageModel
- InteractionActionModel
- InteractionErrorModel
- InteractionItemButtonModel
- InteractionItemCheckboxModel
- InteractionItemInputTextModel
- InteractionItemModel
- InteractionItemSectionModel
- InteractionItemSelectModel
- InteractionItemTextContentModel
- InteractionValueModel
- LinkItemModel
- LogSink
- Masking
- OAuthAccessor
- OAuthDataMapper
- OAuthErrorModel
- OAuthModel
- OAuthResponse
- OAuthTokenConfigurable
- OAuthTokenModel
- PollingModel
- PollingModelUpdatable
- PollingOperationModel
- ProblemModel
- ProblemRepresentation
- Properties
- RawJsonRepresentable
- RepresentationActionModel
- SelectorItemInteractionActionModel
- SelectorItemModel
- SelectorModel
- Storage
- TextLengthRestriction
- TokenBoundConfiguration
- TokenEndpointResponseListener
- UIInteractionModel
- UIModel
- UIOperationModel
- UIProblemModel
- UIStylable
- UIStylableThemeDelegate
- UIStyle
- UIViewControllerStyle
- WebAuthnOperationModel
- WebAuthnOperationParametersModel
Structs
- AuthenticatorSelectorStep
- AuthenticatorSelectorStep.AuthenticatorOption
- AuthorizationProblem
- BankIdClientOperationActionModel
- BankIdClientOperationStep
- CheckboxFormField
- ClientOperationAction
- ClientOperationAction.Properties
- ClientOperationActionModel
- CommonUIStyle
- CommonViewControllerStyle
- ContextFormField
- ContinueSameStep
- EncapAutoActivationClientOperationActionModel
- EncapClientOperationStep
- ExternalBrowserClientOperationActionModel
- ExternalBrowserClientOperationStep
- FormAction
- FormAction.Properties
- FormActionModel
- GenericClientOperationActionModel
- GenericClientOperationStep
- GenericProperties
- GenericRepresentationStep
- HaapiAttestationLimitRefusal
- HaapiFlowVCRepresentable
- HaapiFlowViewControllerRepresentable
- HaapiInsecureConfigurationRefusal
- HaapiInsecureTransportRefusal
- HaapiRedirectRefusal
- HaapiUIKitConfiguration
- HaapiUIViewControllerStyle
- HaapiUIViewControllerStyle.MessageViewStyles
- HiddenFormField
- InputTextConfiguration
- InteractiveFormStep
- InvalidInputProblem
- InvalidInputProblem.InvalidField
- Link
- OAuthAuthorizationResponseProperties
- OAuthAuthorizationResponseStep
- PaddingStyle
- PasswordFormField
- PollingProperties
- PollingStep
- Problem
- RedirectionStep
- ResponseAndData
- RiskAssessmentConfiguration
- SelectFormField
- SelectFormField.Option
- SelectorAction
- SelectorAction.Properties
- SelectorActionModel
- TextFormField
- UserConsentStep
- UserMessage
- UsernameFormField
- WebAuthnAuthenticationClientOperationActionModel
- WebAuthnAuthenticationClientOperationActionModel.AllowedCredential
- WebAuthnAuthenticationClientOperationActionModel.CredentialRequestOptions
- WebAuthnAuthenticationClientOperationStep
- WebAuthnRegistrationClientOperationActionModel
- WebAuthnRegistrationClientOperationActionModel.CredentialParams
- WebAuthnRegistrationClientOperationActionModel.CrossPlatformCredentialRequestOptions
- WebAuthnRegistrationClientOperationActionModel.ExcludedCredential
- WebAuthnRegistrationClientOperationActionModel.PlatformCredentialRequestOptions
- WebAuthnRegistrationClientOperationStep
Classes
- AccessToken
- AttestationConfiguration
- BankIdViewController
- BankIdViewControllerStyle
- BankIdViewControllerStyle.Textual
- BaseViewController
- BoundedTokenConfiguration
- ClientAuthenticationMethodJWTAsymmetric
- ClientAuthenticationMethodJWTSymmetric
- ClientAuthenticationMethodMTLS
- ClientAuthenticationMethodNone
- ClientAuthenticationMethodSecret
- DCRConfiguration
- DataMapperBuilder
- Dpop
- DpopAccessTokenInfo
- ErrorHTTPURLResponseContent
- ErrorTokenResponse
- FormViewController
- FormViewControllerStyle
- GenericViewController
- GenericViewControllerStyle
- HTTPURLResponseContent
- HaapiAccessorBuilder
- HaapiClient
- HaapiConfiguration
- HaapiDeepLinkManager
- HaapiFlow
- HaapiFlowViewController
- HaapiFlowViewControllerStyle
- HaapiFlowViewModel
- HaapiLogger
- HaapiManager
- HaapiPreviewThemeHandle
- HaapiTokenManager
- HaapiTokenManagerBuilder
- HaapiTokenResult
- HaapiUIKitApplicationBuilder
- HaapiUIKitConfigurationBuilder
- KeyPinning
- LoadingIndicatorViewStyle
- Message
- MessageViewStyle
- Metadata
- NotificationBannerViewStyle
- OAuthAuthorizationParameters
- OAuthDataMapperBuilder
- OAuthLifecycle
- OAuthTokenManager
- OAuthTokenManager.ErrorTokenHTTPURLResponseContent
- OAuthTokenManager.SuccessTokenHTTPURLResponseContent
- PollingViewController
- PollingViewControllerStyle
- ProblemViewController
- ProblemViewControllerStyle
- SelectorViewController
- SelectorViewControllerStyle
- StackViewStyle
- StorageBuilder.Keychain
- SuccessfulTokenResponse
- TextAppearance
- UnboundedTokenConfiguration
- ViewControllerFactoryRegistry
- WebAuthnViewController
- WebAuthnViewControllerStyle
- WebAuthnViewControllerStyle.TextualKeys
Enums
- ActionKind
- AuthenticatorSelectionPresentation
- ClientOperationName
- CryptoImportError
- CryptoKeyType
- DriverFollowUpTag
- HaapiAccessorOption
- HaapiError
- HaapiErrorCode
- HaapiInsecureConfigurationRefusal.Address
- HaapiModel
- HaapiModel.ActionFactory
- HaapiModel.ActionModelFactory
- HaapiModel.ContentFactory
- HaapiModel.FormFieldFactory
- HaapiModel.ProblemFactory
- HaapiModel.PropertiesFactory
- HaapiModel.StepFactory
- HaapiModel.TokenResponseFactory
- HaapiPreviewConnector
- HaapiPreviewConnector.BannerVariant
- HaapiPreviewConnector.ButtonVariant
- HaapiPreviewConnector.InputTextFieldVariant
- HaapiPreviewConnector.MessageVariant
- HaapiResult
- HaapiUIKitError
- HandleableProblemType
- HttpHeaderNames
- IdsvrErrorHandling
- InteractionItemButtonType
- JWTAsymmetricAlgorithm
- JWTSymmetricAlgorithm
- KeychainAccessibility
- LinkKind
- LogType
- MessageStyleAttribute
- MimeTypes
- PollingStatus
- PresentationMode
- ProblemType
- RepresentationType
- RetryCondition
- SdkFollowUpTag
- StorageBuilder
- StorageError
- StorageItemCategory
- StorageOperation
- TestingArgument
- TestingEnvironment
- TextFormField.Kind
- TokenResponse
- TokenRevocationResponse
- UIKitFollowUpTag
- UnrecoverableAction
Extensions
- Action
- ActionKind
- ActionTemplate
- ClientOperationActionModelRepresentation
- ClientOperationName
- CommonUIStyle
- Data
- Dictionary
- FormField
- FormFieldType
- HaapiAccessorBuilder
- HaapiAttestationLimitRefusal
- HaapiFlow
- HaapiFlowViewController
- HaapiInsecureConfigurationRefusal
- HaapiInsecureTransportRefusal
- HaapiManager
- HaapiRedirectRefusal
- HaapiResponseTypeable
- HaapiTokenManager
- HaapiUIKitError
- InfoMessageModel
- InteractionItemModel
- InteractionValueModel
- JOSEHeader
- Link
- LinkItemModel
- NSObject
- OAuthTokenManager
- PaddingStyle
- PollingStatus
- ProblemModel
- ProblemType
- Publisher
- RepresentationType
- RiskAssessmentConfiguration
- SelectorItemModel
- Signer
- StorageError
- String
- StringProtocol
- TextAppearance
- TextPickerView
- UIImage
- UIModel
- UIStyle
- UIViewControllerStyle
- URL
- URLRequest
- URLResponse
- URLSessionConfiguration
- Verifier
- WebAuthnViewController
Typealiases
- ActionKind.RawValue
- ActionTemplate.RawValue
- ClientOperationName.RawValue
- FormFieldType.RawValue
- HaapiCompletionHandler
- HaapiFlowViewController.AssociatedStyle
- HaapiFlowViewControllerRepresentable.UIViewControllerType
- HaapiUIViewControllerFactory
- HttpHeadersProvider
- Kind.RawValue
- OAuthAuthorizationParametersProvider
- OAuthCompletion
- OAuthLifecycleResultListener
- OAuthModelFactory
- OAuthRevocationCompletion
- PollingStatus.RawValue
- ProblemType.RawValue
- RepresentationType.RawValue
- UIModelFactory