UNPKG

@ideem/zsm-react-native

Version:

ZSM makes 2FA easy and invisible for everyone, all the time, using advanced cryptography like MPC to establish cryptographic proof of the origin of any transaction or login attempt, while eliminating opportunities for social engineering. ZSM has no relian

132 lines (89 loc) 6.62 kB
# ZSM Client SDK for React Native Apps The ZSM Client SDK for React Native Apps provides the resources needed to integrate Ideem's Universal MFA into React Native applications. ## Resources: - Support Email: support@useideem.com - Support Site: [https://support.useideem.com](https://support.useideem.com) - Documentation: [https://docs.useideem.com](https://docs.useideem.com) ## Known Issues - None --- ## Release 2.8.5 - July 8, 2026 [ NPM PACKAGE RELEASE ] **[ LATEST ]** ### Improvements - Simplified SDK configuration and initialization - Refreshed example app UI across platforms for improved consistency and usability - Expanded log display area for better visibility during testing - Removed unused payment amount fields from Android example applications ### Fixed - Resolved an issue with Passkeys+ enrollment across multiple devices, ensuring existing passkeys are reused instead of creating duplicate passkey credentials. --- ## Release 2.8.4 - June 4, 2026 [ NPM PACKAGE RELEASE ] - Incorporates capabilities from the 2.8.4 Android and iOS SDK releases (Passkey re-enroll flow, second-device enrollment fix, `checkUserCredentialState` no-identity guard) - Added `"re-enroll"` / `"reenroll"` as a special `userVerification` value on `UMFAClient.enroll(userId, { userVerification })` — triggers PasskeysPlus re-enrollment for an existing user. Always uses a fresh registration (CREATE) ceremony, clearing any stale local passkey metadata first. This handles the case where the OS passkey was deleted from the device credential store without calling `unenroll()`. The server replaces the old passkey credential on finish. Call `validateToken` with the returned credential after re-enroll to activate the new passkey on the server - Hardened the JS pre-enrollment short-circuit in `UMFAClient.enroll()` so that **re-enroll requests** and **second-device enrollments** (server has credentials, local state is `NONE`) fall through to the native `UMFAClient.enroll()` instead of returning `{ alreadyEnrolled: true }`. Without this, the new native 2.8.4 fixes were unreachable from React Native - Added `UMFAClient.isPasskeysSupported()` as a deprecated alias of `isPasskeySupported()` for parity with the iOS / Android native API surfaces — prefer `isPasskeySupported()` in new code - Sample app (`platforms/react/apps/umfa/App.jsx`): added a "Re-enroll Passkey" button to both the Login and Logged-In screens, mirroring the new `UMFAViewModel` flows added to the `umfa_swift`, `umfa_objc`, and Android UMFA sample apps - Added `sync-native-binaries.sh` helper in the RN module to refresh the bundled `ios/ZSM.xcframework` and `android/libs/zsm-classes.jar` + `jniLibs/<abi>/libzsm.so` from the canonical native build outputs — run this after a native rebuild and before `pack-module.sh` - New 2.8.4 versioned docs at `platforms/docs/src/react-native/2.8.4/` mirroring the iOS / Android 2.8.4 doc layout ## Release 2.8.3 - May 13, 2026 [ NPM PACKAGE RELEASE ] - Incorporates capabilities from the 2.8.3 Android and iOS SDK releases - Added `checkAllEnrollmentsWithRemoteCheck(userId, forceRemoteCheck)` native bridge method on both iOS and Android — passes the full normalized enrollment response to JavaScript, including `hasLocalPasskey`, `hasRemotePasskey`, `zsmCredID`, `pkpCredID`, `zsmCredentialID`, `pkpCredentialID`, `mpcEnrollment`, `passkeyEnrollment`, `state`, `enrollmentActive`, and more - Added `getNativeEnrollmentInfo(userIdentifier, forceRemoteCheck)` JS wrapper — prefers the new bridge method with automatic fallback to the legacy `checkAllEnrollments` for backward compatibility with older bridge versions - All enrollment-check call sites in `umfa-client.js` updated to use `getNativeEnrollmentInfo(userIdentifier, true)` — enrollment status now always reflects both local and server state ## Release 2.8.1 - March 27, 2026 [ NPM PACKAGE RELEASE ] - Incorporates capabilities from the latest 2.8.x Android and iOS SDK releases - Updates to userVerification parameter handling for Passkeys+ - Improved support for handling Passkeys+ attempts on devices that do not support Passkeys - Removed internally deprecated calls, no external impact - Addition of client SDK version to logs ## Release 2.7.0 - February 17, 2026 [ NPM PACKAGE RELEASE ] - Initial implementation of Passkeys+ for React Native - Region configuration support ## Release 2.5.0 - December 12, 2025 [ NPM PACKAGE RELEASE ] - Resolution of Babel dependencies - Additional changes for User Verification (UV) settings ## Release 2.4.7 - December 2, 2025 [ NPM PACKAGE RELEASE ] - Updated handling of User Verification (UV) value in credentials - Resolved minor issues ## Release 2.4.6 - August 22, 2025 [ NPM PACKAGE RELEASE ] - Resolved gradle-related publishing issue ## Release 2.4.5 - August 1, 2025 [ NPM PACKAGE RELEASE ] - Optimized flow for UMFAClient.enroll() - Library size reduction - Resolve issue with UMFAClient.unenroll() ## Release 2.4.4 - Jul 18, 2025 [ NPM PACKAGE RELEASE ] - Minor bug fixes and improvements - Token validation endpoints now accept any of the valid token types transparently - Improved error handling and debugging capabilities - Extended Sample Application to better demonstrate validation options ## Release 2.4.3 - Jul 17, 2025 [ NPM PACKAGE RELEASE ] - Minor bug fixes and improvements - Updates to documentation - Upgrades to both the UMFAClient and FIDO2Client for better performance - Improved IdentityID handling - Extended support for optional environments in UMFA CLI - Enhanced error handling and debugging capabilities - Extended Origin support for MTLS and Passkey flows - Added synchronous support for UMFAClient and FIDO2Client - Removed legacy shell scripts - Added local artifactory for setup, installation, and testing ## Release 2.4.2 - July 1, 2025 - Added support for React Native 0.72 - Added support for Android 14 - Added support for iOS 17 ## Release 2.4.1 - June 18, 2025 [ NPM PACKAGE RELEASE ] - Altered credential object return value - Updates to documentation - Updates to example apps ## Release 2.4.0 - June 14, 2025 - Lowered base React Native support to 0.60 - Lowered Android support to AndroidOS 7 / API 24 - Updates to documentation - Updates to example apps ## Release 2.3.0 - April 11, 2025 [ NPM PACKAGE RELEASE ] - Added optimized UMFA flows - Updates to WASM build artifacts - Update example UMFA application - Minor bug fixes and improvements - Documentation and Version Bump Changes ## Release 2.2.5 - January 27, 2025 - Added React Native support, through new NPM package @ideem/zsm-react-native