UI Layer#
The UI Layer is the highest level of the HAAPI SDK stack and the recommended starting point for iOS and Android applications. It offers prebuilt, theme-able UI components — HaapiUIKit for iOS and HaapiUIWidget for Android — that handle the entire authentication flow with minimal client code.
There is no UI Layer for React Native. React Native apps own their UI in React components driven by the HaapiResponse discriminated union — see React Native Representations .
Reading order. Start with the UI Layer Overview, then your platform’s entry page. The shared topic pages (Theming, UI Extensibility, …) use iOS / Android tabs and can be read in any order once the platform entry is familiar.
Foundational#
Layer overview and per-platform entry points.
| Page | Topic |
|---|---|
| UI Layer Overview | What the UI Layer is, when to choose it over the SDK Layer |
| iOS UIKit | Install IdsvrHaapiUIKit, build HaapiUIKitApplication, link to the autodoc |
| Android UIWidget | Install the Maven artifact, build HaapiUIWidgetApplication, link to the autodoc |
Configuration and Topics#
Cross-platform topics shown with iOS / Android tabs. Each page covers configuration parameters, customisation hooks, and per-platform notes.
| Page | Topic |
|---|---|
| Configuration (UI Layer) | Builder options for both platforms, server URLs, redirect URI |
| Flow Lifecycle (UI Layer) | Starting the flow, receiving the OAuth token model, presenter lifecycle |
| Presentation Options (UI Layer) | Modal vs stack presentation, polling cadence, external-browser handoff |
| Theming (UI Layer) | Colour and typography keys, light / dark mode, brand integration |
| UI Extensibility (UI Layer) | Replacing screens, view-controller factories, custom step renderers |
| Passkeys and WebAuthn Fallback (UI Layer) | Passkey-first sign-in with password fallback |
Platform-Specific Features#
Pages that apply to only one platform.
| Page | Topic |
|---|---|
| App Extension Support (iOS Only) | Running the UI flow inside an iOS App Extension |
| App Widget Support (Android Only) | Embedding HAAPI sign-in inside an Android App Widget |
| Previewer Host Activity (Android Only) | Android-side preview tooling for designers and reviewers |
| Preview Tools (UI Layer) | iOS UIKit Previewer for theme and step iteration in Xcode |
Operational#
| Page | Topic |
|---|---|
| Logging (UI Layer) | UI-layer follow-up tags, sensitive-value masking, custom sinks |
Related layers: SDK Layer · Driver Layer · Choose Your Layer