Skip to main content

version v3.0.0

· 5 min read

Overview

The v3 release introduces a unified biometric enrolment and authentication process across platforms.

Note: Users who were previously enrolled using earlier SDK versions will be required to re-enrol due to changes in the token architecture introduced in v3.

All frameworks

  • A refresh of the Firebase JSON is required in sandbox (and production if applicable). The new firebase token will work with the v3 SDK. If you had previously provided a firebase token (to work with v1 or v2 SDK), this will no longer be displayed in the embedder portal, but it will still be applicable for that SDK.
  • Changes to un-enrolment behaviour. Previously, a new user was allowed to enrol on a device that was already being used; and the old user would be unenrolled automatically. Now, the app must be uninstalled, or the user unlinked via multi-API, before a new user can enrol on the device. See iOS, android, and React Native sections of the docs.

iOS

Minimum supported iOS version: 15.1

Legacy compatibility support for iOS versions below 15.1 has been dropped.

Key changes

  • The biometrics user enrolment flow now requires an OTP. This is delivered via SMS, and input by the user into an integrated screen in the component.
  • The ability to exchange tokens via the SDK has been removed. For the biometrics login flow, the auth token is shared via webhook only and must be exchanged for an access token via your backend to the Weavr multi API.
  • New method UXComponents.setAppCheckToken
    • add AppCheck SDK. Use the same project setup as described in the All section
    • generate a token
    • UXComponents.setAppCheckToken(GENERATED_TOKEN)

Added

  • New initialisation method UXComponents.initialize(environment:, uiKey:, completion: @escaping ((Result<UXComponentsStatus, ErrorResponse>) -> Void))
    • added completion callback to handle initialisation error

Deprecated

  • UXComponents.initialize(env:, uiKey:, completion:) in favour of UXComponents.initialize(environment:, uiKey:, completion: @escaping ((Result<UXComponentsStatus, ErrorResponse>) -> Void))

Android

To upgrade to SDK v3.0.0, update your Gradle dependency:

implementation 'io.weavr.components:secure-components:3.0.0'

In your settings.gradle file, remove the following repository entry:

maven {
url "https://gitlab.okaythis.com/api/v4/projects/15/packages/maven"
name "GitLab"
}

Key changes

  • The biometrics user enrolment flow now requires an OTP. This is delivered via SMS, and input by the user into an integrated screen in the component.
  • The ability to exchange tokens via the SDK has been removed. For the biometrics login flow, the auth token is shared via webhook only and must be exchanged for an access token via your backend to the Weavr multi API.
  • Moved ErrorResponse class to io.weavr.components.utils.ErrorResponse package. Update any custom error handling implementations to use the new package path
  • Improved handling of the hardware back button on the Device Authorization screen in the enrolment flow that is launched via UXComponents.psa.startPSAEnrollment(). Pressing the back button now triggers the onFailed() callback, enabling client apps to handle user-initiated cancellations more effectively.

React Native

Minimum supported iOS version: 15.1

Legacy compatibility support for iOS versions below 15.1 has been dropped.

Android

In your Android sources, remove the following repository reference:

maven {
url "https://gitlab.okaythis.com/api/v4/projects/15/packages/maven"
name "GitLab"
}

Key changes

The iOS and android functionality have been unified

  • The biometrics user enrolment flow now requires an OTP. This is delivered via SMS, and input by the user into an integrated screen in the component.
  • The ability to exchange tokens via the SDK has been removed. For the biometrics login flow, the auth token is shared via webhook only and must be exchanged for an access token via your backend to the Weavr multi API.