IdentityUIConfiguration

public struct IdentityUIConfiguration

Configuration to start an identity UI flow

  • The client configuration that determines your backend configuration

    Declaration

    Swift

    public let clientConfiguration: ClientConfiguration
  • Declaration

    Swift

    public let theme: IdentityUITheme
  • Declaration

    Swift

    public let localizationBundle: Bundle
  • The tracking event implementation that will be called at various spots in the login process

    Declaration

    Swift

    public let tracker: TrackingEventsHandler?
  • This determines whether you want to allow the user to dismiss the login flow

    Declaration

    Swift

    public let isCancelable: Bool
  • This determines whether you want to allow the user to use biometric login

    Declaration

    Swift

    public let enableBiometrics: Bool
  • This determines whether the user wants to use biometric login, defaults to false

    Declaration

    Swift

    public var useBiometrics: Bool { get }
  • This will be given the navigationController we use internally before we start presentation incase you want to customize certain aspects

    Declaration

    Swift

    public let presentationHook: ((UIViewController) -> Void)?
  • This determines if you want a skip button to be shown which will dismiss the flow and tell you what has happened

    Declaration

    Swift

    public let isSkippable: Bool
  • Some of the UI screens will use the bundle name of your app. Sometimes this is not what you want so you can set this to override it

    Declaration

    Swift

    public var appName: String { get set }
  • Declaration

    Swift

    public init(
        clientConfiguration: ClientConfiguration,
        theme: IdentityUITheme = .default,
        isCancelable: Bool = true,
        isSkippable: Bool = false,
        enableBiometrics: Bool = false,
        presentationHook: ((UIViewController) -> Void)? = nil,
        tracker: TrackingEventsHandler? = nil,
        localizationBundle: Bundle? = nil,
        appName: String? = nil
    )

    Parameters

    clientConfiguration

    the ClientConfiguration object

    theme

    The IdentityUITheme object

    isCancelable

    If this is false then the user cannot cancel the UI flow unless you complete it

    isSkippable

    If this is true then the first screen shows a skip button that produces the appropriate event

    presentationHook

    Block called with the IdentityUI ViewController before it being presented.

    tracker

    Required implementation of the trackinge events handler

    localizationBundle

    If you have any custom localizations you want to use

    appName

    If you want to customize the app name display in the UI

    enableBiometrics

    If you want to enable authentication using biometrics

  • Call this to replace parts of the configuration

    Declaration

    Swift

    public func replacing(
        theme: IdentityUITheme? = nil,
        isCancelable: Bool? = nil,
        isSkippable: Bool? = nil,
        enableBiometrics: Bool? = nil,
        presentationHook: ((UIViewController) -> Void)? = nil,
        tracker: TrackingEventsHandler? = nil,
        localizationBundle: Bundle? = nil,
        appName: String? = nil
    ) -> IdentityUIConfiguration

    Parameters

    theme

    The IdentityUITheme object

    isCancelable

    If this is false then the user cannot cancel the UI flow unless you complete it

    isSkippable

    If this is true then the first screen shows a skip button that produces the appropriate event

    presentationHook

    Block called with the IdentityUI ViewController before it being presented.

    tracker

    Required implementation of the trackinge events handler

    localizationBundle

    If you have any custom localizations you want to use

    appName

    If you want to customize the app name display in the UI

    enableBiometrics

    If you want to enable biometrics authentication

  • Call this to enroll biometrics login

    Declaration

    Swift

    public func useBiometrics(_ useBiometrics: Bool)

    Parameters

    useBiometrics

    If you want to enable biometrics authentication.

  • Declaration

    Swift

    public var description: String { get }