DeviceBindingConfig

public class DeviceBindingConfig

Configuration for device binding. This class allows you to customize the behavior of the device binding and signing process.

  • The human-readable name for the device that will be displayed in user interfaces. Defaults to the device model (e.g. “iPhone”), matching Android’s Build.MODEL default.

    Declaration

    Swift

    public var deviceName: String { get set }
  • The name of the device. The default is “Apple”.

  • The device identifier used to generate a stable, unique device ID for binding. When nil (the default), DefaultDeviceIdentifier is used at bind time, generating a persistent identifier derived from a key pair stored in the Keychain — matching Android’s DeviceIdentifier default behaviour. Assign a custom DeviceIdentifier implementation to override the default ID generation.

    Declaration

    Swift

    public var deviceIdentifier: (any DeviceIdentifier)?
  • The configuration for the user key storage.

    Declaration

    Swift

    public var userKeyStorage: UserKeyStorageConfig
  • Custom claims to be included in the JWS.

    Declaration

    Swift

    public var claims: [String : Any]
  • A custom user key selector for choosing from multiple keys. The default implementation uses a system alert.

    Declaration

    Swift

    public var userKeySelector: UserKeySelector
  • A closure that returns the issue time for the JWS. The default implementation returns the current date.

    Declaration

    Swift

    public var issueTime: () -> Date
  • A closure that returns the not-before time for the JWS. The default implementation returns the current date.

    Declaration

    Swift

    public var notBeforeTime: () -> Date
  • A closure that returns the expiration time for the JWS. The default implementation returns the current date plus the given timeout in seconds.

    Declaration

    Swift

    public var expirationTime: (Int) -> Date
  • The timeout for the operation.

    Declaration

    Swift

    public var timeout: Int
  • The attestation option.

    Declaration

    Swift

    public var attestation: Attestation
  • The type of authentication to be used.

    Declaration

    Swift

    public var deviceBindingAuthenticationType: DeviceBindingAuthenticationType
  • The custom device authenticator to be used.

    Declaration

    Swift

    public var deviceAuthenticator: DeviceAuthenticator?
  • The custom authenticator configuration to be used.

    Declaration

    Swift

    public var authenticatorConfig: AuthenticatorConfig?
  • Initializes a new DeviceBindingConfig.

    Declaration

    Swift

    public init()