Incompatible changes
Incompatible changes refer to changes that impact existing functionality and might have an effect on your deployment. Before you upgrade, review these lists and make the appropriate changes to your scripts and plugins.
SDK for iOS 4.0.0
- Exception changes
-
-
The
FRAClient.updateAccount()
method now throwsAccountError.accountLocked
when attempting to update a locked account. -
The
HOTPMechanism.generateCode()
andTOTPMechanism.generateCode()
methods now throw AccountError.accountLocked when attempting to get an OATH token for a locked account.
-
- Method signature changes
-
The signature of the following methods has changed:
WebAuthnRegistrationCallback
-
- Old
-
public func register( node: Node? = nil, onSuccess: @escaping StringCompletionCallback, onError: @escaping ErrorCallback )
- New
-
public func register( node: Node? = nil, window: UIWindow? = UIApplication.shared.windows.first, deviceName: String? = nil, usePasskeysIfAvailable: Bool = false, onSuccess: @escaping StringCompletionCallback, onError: @escaping ErrorCallback )
WebAuthnAuthenticationCallback
-
- Old
-
public func authenticate( node: Node? = nil, onSuccess: @escaping StringCompletionCallback, onError: @escaping ErrorCallback )
- New
-
public func authenticate( node: Node? = nil, window: UIWindow? = UIApplication.shared.windows.first, preferImmediatelyAvailableCredentials: Bool = false, usePasskeysIfAvailable: Bool = false, onSuccess: @escaping StringCompletionCallback, onError: @escaping ErrorCallback )
FacebookSignInHandler
-
- Old
-
public static func handle( _ application: UIApplication, _ url: URL, _ options: [UIApplication.OpenURLOptionsKey : Any] = [:] ) -> Bool
- New
-
public static func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil ) -> Bool
In 4.0.0 and later, make calls to the method using:
application(_ application:, didFinishLaunchingWithOptions launchOptions: )
Not the previous call:
application(_ app:, open url:, options:)
SDK for Android 4.0.0
- Removed support for native single sign-on (SSO)
-
The Android platform has deprecated
sharedUserId
that underpins the ForgeRock SDK for Android native SSO implementation.This native SSO implementation will not be viable after
sharedUserId
is removed from the Android platform.Due to this deprecation, SDK for Android 4.0.0 removes support for Android native single sign-on, as well as the following related changes:
-
AuthenticatorService
is removed. Remove<service>
from yourAndroidManifest.xml
file. -
The SDK for Android no longer requires the following permissions:
-
android.permission.AUTHENTICATE_ACCOUNTS
-
android.permission.GET_ACCOUNTS
-
android.permission.MANAGE_ACCOUNTS
-
android.permission.USE_CREDENTIALS
-
-
The SDK for Android no longer requires the following configuration properties:
-
forgerock
-
forgerock_account_name
-
forgerock_webauthn_account_name
-
forgerock_webauthn_max_credential
-
forgerock_enable_sso
-
-
- Method signature changes
-
The signature of the following methods has changed:
WebAuthnRegistrationCallback
-
- Old
-
public void register(Node node,FRListener<Void> listener)
- New
-
suspend fun register(context: Context, node: Node)
WebAuthAuthenticationCallback
-
- Old
-
public void authenticate( @NonNull Fragment fragment, @NonNull Node node, @Nullable WebAuthnKeySelector selector, FRListener<Void> listener )
- New
-
suspend fun authenticate( context: Context, node: Node, selector: WebAuthnKeySelector = WebAuthnKeySelector.DEFAULT )
org.forgerock.android.auth.FRAClient
-
- Old
-
public boolean updateAccount(@NonNull Account account)
- New
-
public boolean updateAccount(@NonNull Account account) throws AccountLockException
org.forgerock.android.auth.HOTPMechanism
-
- Old
-
public OathTokenCode getOathTokenCode() throws OathMechanismException
- New
-
public OathTokenCode getOathTokenCode() throws OathMechanismException, AccountLockException
org.forgerock.android.auth.OathMechanism
-
- Old
-
public abstract OathTokenCode getOathTokenCode() throws OathMechanismException
- New
-
public abstract OathTokenCode getOathTokenCode() throws OathMechanismException, AccountLockException
org.forgerock.android.auth.TOTPMechanism
-
- Old
-
public OathTokenCode getOathTokenCode() throws OathMechanismException
- New
-
public OathTokenCode getOathTokenCode() throws OathMechanismException, AccountLockException
SDK for JavaScript 4.0.0
- No longer provides Universal Module Definition (UMD) support
-
This version of the SDK for JavaScript does not provide a UMD bundle.
If you require UMD support, you can:
-
Use an earlier version of the SDK for JavaScript, such as 3.4.
-
Clone the repository with the latest source code and configure it locally to provide UMD support.
Support for CommonJS (CJS) and ES Modules (ESM) is not affected and still provided in SDK for JavaScript 4.0.0
-
- Removal of
indexedDB
token store -
The
indexedDB
option has been removed from thetokenStore
configuration property in ForgeRock SDK for JavaScript 4.0. TheindexedDB
option did not offer sufficient functionality or reliability when the browser is using a private or incognito window.If you are using the
indexedDB
option after upgrading to SDK for JavaScript 4.0.0 it is ignored and the SDK defaults to using thelocalStorage
option instead. A warning message is output to the browser console.This change will not affect the functionality of your app.
For more information on options for the token store, refer to Configure the SDKs.
- Updated
Policy
types -
Updated policy types so that a
PolicyRequirement
array is output fromfailedPolicies
. - Removed duplicate modules
-
Removed the
FRUI
andEvent
modules from the SDK for JavaScript repository.These modules were incorrectly duplicated from the
forgerock-javascript-sdk-ui
repository.