Integrating with PingOne MFA
PingOne Android iOS
PingOne MFA add strong authentication methods, such as an OATH one-time passcode or a push notification on a client device, when signing on from an accessing device such as a web browser, a kiosk, or another application.
The pingonemfa module turns the mobile app into that second factor. The user signs on at the accessing device, and the paired mobile device running your app approves the request, displays a one-time passcode, or responds to a number-matching challenge.
In every PingOne MFA scenario covered here, the mobile app runs on a secondary device:
- Accessing device
-
The device where the user signs on, for example a browser, a self-service kiosk, or a web application. The sign-on is protected by a PingOne MFA policy that requires push or OATH authentication.
- Paired mobile device
-
The device running your Android or iOS app, that can respond to authentication challenges from PingOne.
The mobile app itself does not run the sign-on flow. Its counterpart is the PingOne MFA service, which it talks to through the pingonemfa module. This keeps the integration simple: after the device is paired, the app only reacts to challenges and generates passcodes, independent of how or where the sign-on itself is performed.
The pingonemfa module wraps the native PingOne MFA SDKs in a single, consistent API that follows the same patterns as the rest of the Orchestration SDK:
-
One SDK to learn, install, and version, alongside the DaVinci and other Orchestration SDK modules you already use.
-
Modern asynchronous APIs on both platforms: Kotlin suspend functions that return
Result<T>on Android, and Swiftasync throwsfunctions on iOS. -
Consistent error handling across platforms, with structured error objects instead of native SDK error types.
-
Complete coverage of the secondary-device use cases: device pairing, push notification approval and denial, number matching, and OATH one-time passcode generation.