Skip to content

Commit

Permalink
Merge pull request #25 from ForgeRock/develop
Browse files Browse the repository at this point in the history
Ping SDK 1.0.0 Release
  • Loading branch information
spetrov authored Dec 10, 2024
2 parents 612fab1 + 618694c commit 9c6d674
Show file tree
Hide file tree
Showing 14 changed files with 15 additions and 291 deletions.
65 changes: 8 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,65 +18,16 @@ This SDK is support Browser, iOS and Android platforms.
├── 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
│ ├── 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
│ ├── oidc* # Provide OIDC interface
│ ├── orchestrate # Orchestrating authentication flow framework
│ ├── storage # Provide Storage interface
│ └── utils # Provide common utilities function
├── 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
├── journey* # Orchestrate authentication with Journey
├── external-idp* # Provide Native Google, Facebook, Apple SocialLogin
├── ...
└── ...

## Add dependency to your project

The Ping SDK for Android project emphasizes modularity, allowing you to select and include only the necessary SDKs for your app, instead of including the entire SDK.
For example:

### Scenario 1:

An application with Centralized Login

```kotlin
dependencies {
implementation("com.pingidentity.sdks:oidc:$ping_version")
}
```

### Scenario 2:

An Orchestrate authentication with PingOne Davinci, and in the flow, I would like to enable PingOne Protect

```kotlin
dependencies {
implementation("com.pingidentity.sdks:davinci:$ping_version")
implementation("com.pingidentity.sdks:protect:$ping_version")
}
```

### Scenario 3:

An Orchestrate authentication with Journey, and in the authentication journey, I would like to have Google Social Login,
enable PingOne Protect and PingOne Verify

```kotlin
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.
***Note***: * Module under development and experimental
14 changes: 0 additions & 14 deletions foundation/device/build.gradle.kts

This file was deleted.

22 changes: 0 additions & 22 deletions foundation/device/device-binding/build.gradle.kts

This file was deleted.

21 changes: 0 additions & 21 deletions foundation/device/device-id/build.gradle.kts

This file was deleted.

This file was deleted.

This file was deleted.

17 changes: 0 additions & 17 deletions foundation/device/device-integrity/build.gradle.kts

This file was deleted.

17 changes: 0 additions & 17 deletions foundation/fido/build.gradle.kts

This file was deleted.

17 changes: 0 additions & 17 deletions foundation/network/build.gradle.kts

This file was deleted.

12 changes: 7 additions & 5 deletions foundation/oidc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
<hr/>
</p>

# This Module is currently under development, do not apply this module directly to your project.

`oidc` module provides OIDC client for PingOne and ForgeRock platform.

The `oidc` module follows the [OIDC](https://openid.net/specs/openid-connect-core-1_0.html) specification and
Expand Down Expand Up @@ -33,9 +35,9 @@ to receive the redirect from the browser.
```xml

<activity
android:name="net.openid.appauth.RedirectUriReceiverActivity"
android:exported="true"
tools:node="replace">
android:name="net.openid.appauth.RedirectUriReceiverActivity"
android:exported="true"
tools:node="replace">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>

Expand All @@ -55,7 +57,7 @@ Basic Configuration, use `discoveryEndpoint` to lookup OIDC endpoints
```kotlin
val ping = OidcClient {
discoveryEndpoint =
"https://auth.pingone.ca/02fb4743-189a-4bc7-9d6c-a919edfe6447/as/.well-known/openid-configuration"
"https://auth.pingone.ca/02fb4743-189a-4bc7-9d6c-a919edfe6447/as/.well-known/openid-configuration"
clientId = "c12743f9-08e8-4420-a624-71bbb08e9fe1"
redirectUri = "org.forgerock.demo://oauth2redirect"
scopes = mutableSetOf("openid", "email", "address", "profile", "phone")
Expand Down Expand Up @@ -116,7 +118,7 @@ the [customTab property](https://developer.android.com/reference/androidx/browse
val ping = OidcClient {

agent(browser) {

// Customize the CustomTab
customTab = {
setColorScheme(CustomTabsIntent.COLOR_SCHEME_DARK)
Expand Down
17 changes: 0 additions & 17 deletions mfa/build.gradle.kts

This file was deleted.

18 changes: 0 additions & 18 deletions protect/build.gradle.kts

This file was deleted.

17 changes: 0 additions & 17 deletions verify/build.gradle.kts

This file was deleted.

17 changes: 0 additions & 17 deletions wallet/build.gradle.kts

This file was deleted.

0 comments on commit 9c6d674

Please sign in to comment.