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.
|
SDKs Renamed
Prior to November 2024, the Ping SDKs were known as the ForgeRock SDKs.
|
Ping SDK for Android 4.8.2
- Upgraded cryptographic libraries
-
The libraries the Ping SDK for Android use to handle application PIN unlocking during device binding have been updated in this release.
If you application supports an application PIN during device binding you must update your app to use the updated library when upgrading to Ping SDK for Android 4.8.2.
-
In the Project tree view of your Android Studio project, open your
build.gradlefile. -
In the
dependenciessection, update the application PIN dependency as follows:Old dependency:implementation 'com.madgag.spongycastle:bcpkix-jdk15on:1.58.0.0'Updated dependency:implementation 'org.bouncycastle:bcpkix-jdk18on:1.81' -
In the
androidsection, and the following packaging statement to handle any potential manifest conflicts:android { packaging { resources.excludes.add("META-INF/versions/9/OSGI-INF/MANIFEST.MF") } }
-
ForgeRock SDK for iOS 4.0.0
- Exception changes
-
-
The
FRAClient.updateAccount()method now throwsAccountError.accountLockedwhen 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 ) -> BoolIn ForgeRock SDK for Android 4.0.0 and later, make calls to the method using:
application(_ application:, didFinishLaunchingWithOptions launchOptions: )Not the previous call:
application(_ app:, open url:, options:)
ForgeRock SDK for Android 4.0.0
- Removed support for native single sign-on (SSO)
-
The Android platform has deprecated
sharedUserIdthat underpins the ForgeRock SDK for Android native SSO implementation.This native SSO implementation will not be viable after
sharedUserIdis removed from the Android platform.Due to this deprecation, ForgeRock SDK for Android 4.0.0 removes support for Android native single sign-on, as well as the following related changes:
-
AuthenticatorServiceis removed. Remove<service>from yourAndroidManifest.xmlfile. -
The ForgeRock 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 ForgeRock 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
ForgeRock SDK for JavaScript 4.0.0
- No longer provides Universal Module Definition (UMD) support
-
This version of the ForgeRock SDK for JavaScript does not provide a UMD bundle.
If you require UMD support, you can:
-
Use an earlier version of the ForgeRock SDK for JavaScript, such as 3.4.0.
-
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 ForgeRock SDK for JavaScript 4.0.0
-
- Removal of
indexedDBtoken store -
The
indexedDBoption has been removed from thetokenStoreconfiguration property in ForgeRock SDK for JavaScript 4.0.0. TheindexedDBoption did not offer sufficient functionality or reliability when the browser is using a private or incognito window.If you are using the
indexedDBoption after upgrading to ForgeRock SDK for JavaScript 4.0.0 it is ignored and the SDK defaults to using thelocalStorageoption 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 Ping SDKs for Auth Journeys.
- Updated
Policytypes -
Updated policy types so that a
PolicyRequirementarray is output fromfailedPolicies. - Removed duplicate modules
-
Removed the
FRUIandEventmodules from the ForgeRock SDK for JavaScript repository.These modules were incorrectly duplicated from the
forgerock-javascript-sdk-uirepository.