Skip to content

Commit db1ac35

Browse files
Moving iOS and Android samples and re-structuring the repo
1 parent 4f1c233 commit db1ac35

File tree

927 files changed

+42277
-7626
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

927 files changed

+42277
-7626
lines changed

.github/workflows/CI.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
with:
2121
path: |
2222
node_modules
23-
key: ${{ runner.os }}-npm-${{matrix.node}}-${{ hashFiles('**/package-lock.json') }}
23+
key: ${{ runner.os }}-npm-${{matrix.node}}-${{ hashFiles('**/javascript/package-lock.json') }}
2424

2525
- run: npm ci
2626
if: steps.cache.outputs.cache-hit != 'true'
@@ -42,7 +42,7 @@ jobs:
4242
with:
4343
path: |
4444
node_modules
45-
key: ${{ runner.os }}-npm-${{matrix.node}}-${{ hashFiles('**/package-lock.json') }}
45+
key: ${{ runner.os }}-npm-${{matrix.node}}-${{ hashFiles('**/javascript/package-lock.json') }}
4646

4747
- run: npm ci
4848
if: steps.cache.outputs.cache-hit != 'true'
@@ -62,7 +62,7 @@ jobs:
6262
with:
6363
name: Playwright Results - ${{ runner.os }} - ${{ matrix.node }} - ${{ github.run_attempt }}
6464
path: |
65-
reactjs-todo/test-results
66-
reactjs-todo/playwright-report
67-
angular-todo/test-results
68-
angular-todo/playwright-report
65+
javascript/reactjs-todo/test-results
66+
javascript/reactjs-todo/playwright-report
67+
javascript/angular-todo/test-results
68+
javascript/angular-todo/playwright-report

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,8 @@ reactjs-todo/public/*
1717
/playwright/.cache/
1818
.eslintcache
1919
reactjs-todo/public/*
20+
**/xcuserdata/
21+
.gradle/
22+
.idea/
23+
.vscode/
24+
local.properties

.husky/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

.husky/pre-commit

Lines changed: 0 additions & 4 deletions
This file was deleted.

README.md

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,39 +7,33 @@
77

88
## Samples
99

10-
ForgeRock provides these samples to help demonstrate SDK functionality/implementation. They are provided "as is" and are not official products of ForgeRock and are not officially supported.
10+
Ping provides these samples to help demonstrate SDK functionality/implementation. They are provided "as is" and are not official products of Ping and are not officially supported.
1111

12-
To try out the ForgeRock JavaScript SDK please look at one of our samples:
12+
### Integrate with PingOne Advanced Identity Cloud / PingAM:
1313

14-
- [**Embedded login - `embedded-login`**](./embedded-login/README.md)
14+
To try out the Ping JavaScript SDK please look at one of our samples under [javascript](./javascript/)
1515

16-
- A barebones example of how to use the `@forgerock/javascript-sdk` in a vanilla html & javascript app with embedded login.
16+
To try out the Ping iOS SDK please look at one of our samples under [iOS](./iOS/)
1717

18-
- [**Central login - `central-login`**](./central-login/README.md)
18+
To try out the Ping Android SDK please look at one of our samples under [android](./android/)
1919

20-
- A barebones example of how to use the `@forgerock/javascript-sdk` in a vanilla html & javascript app with central login.
20+
### Integrate with PingOne DaVinci:
2121

22-
- [**React Todo - `reactjs-todo`**](./reactjs-todo/README.md)
23-
24-
- Todo application that involves authentication and authorization of a user to post Todos with the `@forgerock/javascript-sdk` in ReactJS.
25-
The main branch includes many flavors of callbacks, including WebAuthN, embedded login, and social login.
26-
27-
- [**Angular Todo - `angular-todo`**](./angular-todo/README.md)
28-
- Todo application that involves authentication and authorization of a user to post Todos with the `@forgerock/javascript-sdk` in Angular.
29-
The main branch includes many flavors of callbacks, including WebAuthN, embedded login, and social login.
30-
31-
<!------------------------------------------------------------------------------------------------------------------------------------>
32-
<!-- DOCS - Link off to the AM-centric documentation at sdks.forgerock.com. -->
22+
- Samples coming soon
3323

3424
## Documentation
3525

3626
Documentation for the SDKs is provided on [ForgeRock Backstage](https://backstage.forgerock.com/docs/sdks/latest/index.html), and includes topics such as:
3727

3828
- Introducing the SDK Features
39-
- Preparing your server for use with the SDKS
29+
- Preparing your server for use with the SDKs
4030
- API Reference documentation
4131

4232
## Requirements
4333

34+
Javascript
4435
- Please use a modern web browser like Chrome, Safari, or Firefox
4536
- Node >= 18
37+
38+
iOS
39+
- Latest Xcode

android/README.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<p align="center">
2+
<a href="https://github.com/ForgeRock/sdk-sample-apps">
3+
<img src="https://cdn.forgerock.com/logo/interim/Logo-PingIdentity-ForgeRock-Hor-FullColor.svg" alt="Logo">
4+
</a>
5+
<hr/>
6+
</p>
7+
8+
## Samples
9+
10+
Ping provides these Android samples to help demonstrate SDK functionality/implementation. They are provided "as is" and are not official products of Ping and are not officially supported.
11+
12+
### Integrate with PingOne Advanced Identity Cloud / PingAM:
13+
14+
To try out the Ping Android SDK please look at one of our samples:
15+
16+
- [**Java Authenticator - `/java-authenticator`**](./java-authenticator/)
17+
18+
- This Authenticator sample app supports registration of multiple accounts and multiple different authentication methods in each account, such as push notifications and one-time passwords.
19+
20+
- [**Java UI prototype - `/java-ui-prototype`**](./java-ui-prototype/)
21+
22+
- An example Android project making full use of the Ping SDK with a prototyping UI. Allows to explore the SDK uses in detail with example calls for running Journeys, getting OAuth2.0 tokens, User Info and more.
23+
(https://backstage.forgerock.com/docs/sdks/latest/sdks/tutorials/android/index.html)
24+
25+
- [**Java Quickstart - `/java-quickstart`**](./java-quickstart/)
26+
27+
- An example Android project written in Java making use of the SDK. The sample supports the OOTB Login Journey with Username and Password. (https://backstage.forgerock.com/docs/sdks/latest/sdks/tutorials/android/index.html)
28+
29+
- [**Kotlin Quickstart - `/kotlin-quickstart`**](./kotlin-quickstart/)
30+
31+
- An example Android project written in Kotlin making use of the SDK. The sample supports the OOTB Login Journey with Username and Password. (https://backstage.forgerock.com/docs/sdks/latest/sdks/tutorials/android/index.html)
32+
33+
- [**Kotlin UI prototype - `/kotlin-ui-prototype`**](./kotlin-ui-prototype/)
34+
35+
- An example Android project making full use of the Ping SDK with a prototyping UI, written in Kotlin. Allows to explore the SDK uses in detail with example calls for running Journeys, getting OAuth2.0 tokens, User Info and more.
36+
(https://backstage.forgerock.com/docs/sdks/latest/sdks/tutorials/android/index.html)
37+
38+
39+
### Integrate with PingOne DaVinci:
40+
41+
- Samples coming soon
42+
43+
## Requirements
44+
45+
Android
46+
- Latest Android Studio
47+
- Java 17+
48+
- Gradle 8.6+
49+
- Ping Advanced Identity Cloud or Ping AM 7.1 and above
50+
- Android API level 23+

android/java-authenticator/README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<p align="center">
2+
<a href="https://github.com/ForgeRock/sdk-sample-apps">
3+
<img src="https://cdn.forgerock.com/logo/interim/Logo-PingIdentity-ForgeRock-Hor-FullColor.svg" alt="Logo">
4+
</a>
5+
<hr/>
6+
</p>
7+
8+
## Authenticator app sample
9+
10+
Ping provides these Android samples to help demonstrate SDK functionality/implementation. They are provided "as is" and are not official products of Ping and are not officially supported.
11+
12+
### Integrate with MFA capabilities on PingOne Advanced Identity Cloud / PingAM::
13+
14+
- This Authenticator sample app supports registration of multiple accounts and multiple different authentication methods in each account, such as push notifications and one-time passwords.
15+
16+
### Getting started
17+
18+
To try out the ForgeRock Android SDK sample, perform these steps:
19+
20+
- Clone this repo
21+
- Setup an Journey instance with OATH and/or Push nodes.
22+
- Open this Android project in Android Studio.
23+
- Add your google-services.json to the app folder.
24+
- On the Run menu, click Run 'app'.
25+
26+
## Requirements
27+
28+
- Latest version of Android Studio
29+
- Ping Advanced Identity Cloud or Ping AM 7.1 and above
30+
- Android API level 23+
31+
- Google Firebase project (google-services.json)
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
*.iml
2+
.idea
3+
gen
4+
out
5+
.gradle
6+
build
7+
local.properties
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
/*
2+
* Copyright (c) 2020 - 2024 ForgeRock. All rights reserved.
3+
*
4+
* This software may be modified and distributed under the terms
5+
* of the MIT license. See the LICENSE file for details.
6+
*/
7+
8+
apply plugin: 'com.android.application'
9+
10+
android {
11+
12+
namespace 'org.forgerock.authenticator.sample'
13+
compileSdk 35
14+
15+
defaultConfig {
16+
applicationId "org.forgerock.authenticator.sample"
17+
minSdkVersion 23
18+
targetSdkVersion 35
19+
versionCode 1
20+
versionName "1.0"
21+
22+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
23+
}
24+
25+
buildTypes {
26+
release {
27+
minifyEnabled false
28+
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
29+
}
30+
}
31+
32+
compileOptions {
33+
sourceCompatibility JavaVersion.VERSION_17
34+
targetCompatibility JavaVersion.VERSION_17
35+
}
36+
37+
lintOptions {
38+
abortOnError false
39+
}
40+
buildFeatures {
41+
compose true
42+
buildConfig true
43+
}
44+
45+
}
46+
47+
dependencies {
48+
implementation fileTree(dir: 'libs', include: ['*.jar'])
49+
50+
// ForgeRock Authenticator SDK
51+
implementation ('org.forgerock:forgerock-authenticator:4.5.0')
52+
53+
// Loading images dynamically
54+
implementation 'com.squareup.picasso:picasso:2.5.2'
55+
56+
// FCM Notifications
57+
implementation "com.google.firebase:firebase-messaging:23.1.2"
58+
59+
// QRCode scanner - ML Kit dependencies and CameraX
60+
implementation 'com.google.mlkit:barcode-scanning:16.1.2'
61+
implementation 'androidx.camera:camera-core:1.0.0'
62+
implementation 'androidx.camera:camera-camera2:1.0.0'
63+
implementation 'androidx.camera:camera-lifecycle:1.0.0'
64+
implementation 'androidx.camera:camera-view:1.0.0-alpha25'
65+
66+
// QRCode scanner - Alternative library
67+
implementation('com.journeyapps:zxing-android-embedded:3.3.0') { transitive = false }
68+
implementation 'com.google.zxing:core:3.3.3'
69+
70+
// UI
71+
implementation 'androidx.annotation:annotation:1.1.0'
72+
implementation 'androidx.appcompat:appcompat:1.3.0'
73+
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
74+
implementation 'com.google.android.material:material:1.1.0'
75+
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
76+
implementation 'androidx.recyclerview:recyclerview:1.1.0'
77+
implementation 'org.jetbrains:annotations:15.0'
78+
79+
// Biometric
80+
implementation 'androidx.biometric:biometric-ktx:1.2.0-alpha05'
81+
82+
}
83+
84+
apply plugin: 'com.google.gms.google-services'
85+
googleServices {
86+
disableVersionCheck = true
87+
}
88+
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"project_info": {
3+
"project_number": "",
4+
"firebase_url": "https://test-authenticator.firebaseio.com",
5+
"project_id": "test-authenticator",
6+
"storage_bucket": "test-authenticator.appspot.com"
7+
},
8+
"client": [
9+
{
10+
"client_info": {
11+
"mobilesdk_app_id": "",
12+
"android_client_info": {
13+
"package_name": ""
14+
}
15+
},
16+
"oauth_client": [
17+
{
18+
"client_id": "",
19+
"client_type": 3
20+
}
21+
],
22+
"api_key": [
23+
{
24+
"current_key": ""
25+
}
26+
],
27+
"services": {
28+
"appinvite_service": {
29+
"other_platform_oauth_client": [
30+
{
31+
"client_id": "",
32+
"client_type": 3
33+
}
34+
]
35+
}
36+
}
37+
}
38+
],
39+
"configuration_version": "1"
40+
}

0 commit comments

Comments
 (0)