Unified SDK is an SDK designed for creating Mobile Native Apps that seamlessly integrate with the PingOne platform. It offers a range of APIs for user authentication, user device management, and accessing resources secured by PingOne. This SDK is support Browser, iOS and Android platforms.
ping
├── foundation # Foundation module
│ ├── android # Android Common
│ ├── davinci-plugin # For module that integrated with davinci
│ ├── device # Device module
│ │ ├── device-id # Generate and manage Device Id
│ │ └── device-integrity # Device and App Integriry
│ ├── fido # WebAuthn integration
│ ├── journey-plugin # For module that integrated with journey
│ ├── logger # Provide Logging interface and common loggers
│ ├── network # Provide Networking interface
│ ├── oidc # Provide OIDC interface
│ └── storage # Provide Storage interface
├── davinci # Orchestrate authentication with PingOne Davinci
├── journey # Orchestrate authentication with Journey
├── mfa # Provide interface to build Authenticator App
├── protect # Provide PingOne Protect integration
├── external-idp # Provide Native Google, Facebook, Apple SocialLogin
├── verify # Provide PingOne Verify integration
├── wallet # Provide PingOne Neo integration
├── ...
└── ...
The PingIdentity unified SDK project emphasizes modularity, allowing you to select and include only the necessary SDKs for your app instead of including the entire SDK. For example:
An application with Centralize Login
dependencies {
implementation("com.pingidentity.sdks:oidc:$ping_version")
}
An Orchestrate authentication with PingOne Davinci, and in the flow, I would like to enable PingOne Protect
dependencies {
implementation("com.pingidentity.sdks:davinci:$ping_version")
implementation("com.pingidentity.sdks:protect:$ping_version")
}
An Orchestrate authentication with Journey, and in the authentication journey, I would like to have Google Social Login, enable PingOne Protect and PingOne Verify
dependencies {
implementation("com.pingidentity.sdks:journey:$ping_version")
implementation("com.pingidentity.sdks:protect:$ping_version")
implementation("com.pingidentity.sdks:verify:$ping_version")
implementation("com.pingidentity.sdks:social-login:$ping_version")
}
As you can see, the protect
module is included in both scenarios.
This is because the protect
module is a dependency of the davinci
and journey
modules.
Similarly, the verify
and other modules can be shared across the journey
and davinci
modules.