Skip to content
This repository was archived by the owner on Dec 17, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
package com.onegini.mobile.onegini_example;

import android.os.Build;
import com.onegini.mobile.onegini_example.R;
import com.onegini.mobile.sdk.android.model.OneginiClientConfigModel;

public class OneginiConfigModel implements OneginiClientConfigModel {

/* Config model generated by SDK Configurator version: v5.1.0 */

private final String appIdentifier = "FlutterExampleApp";
private final String appPlatform = "android";
private final String redirectionUri = "oneginiexample://loginsuccess";
private final String appVersion = "1.0.2";
private final String baseURL = "https://mobile-security-proxy.test.onegini.com";
private final String resourceBaseURL = "https://mobile-security-proxy.test.onegini.com/resources/";
private final String keystoreHash = "90cf65bea23977e84dcddfb38b8cecb5469d8ca43aa6b01575864ef2ca6eaa48";
private final int maxPinFailures = 3;
private final String serverPublicKey = "17DDB4086A1D3FA37950CBDDC6F1173A0C5902A3B71DAD261290CEFEE13CC9CA";

public String getAppIdentifier() {
return appIdentifier;
}

public String getAppPlatform() {
return appPlatform;
}

public String getRedirectUri() {
return redirectionUri;
}

public String getAppVersion() {
return appVersion;
}

public String getBaseUrl() {
return baseURL;
}

public String getResourceBaseUrl() {
return resourceBaseURL;
}

public int getCertificatePinningKeyStore() {
return R.raw.keystore;
}

public String getKeyStoreHash() {
return keystoreHash;
}

public String getDeviceName() {
return Build.BRAND + " " + Build.MODEL;
}

public String getServerPublicKey() {
return serverPublicKey;
}

/**
* @Deprecated Since Android SDK 8.0.0 this attribute is not required.
*/
public boolean shouldGetIdToken() {
return false;
}

/**
* Get the max PIN failures. This attribute is just used for visual representation towards the end-user.
*
* @Deprecated Since Android SDK 6.01.00 this attribute is fetched from the Device config.
*
* @return The max PIN failures
*/
public int getMaxPinFailures() {
return maxPinFailures;
}

@Override
public String toString() {
return "ConfigModel{" +
" appIdentifier='" + appIdentifier + "'" +
", appPlatform='" + appPlatform + "'" +
", redirectionUri='" + redirectionUri + "'" +
", appVersion='" + appVersion + "'" +
", baseURL='" + baseURL + "'" +
", maxPinFailures='" + maxPinFailures + "'" +
", resourceBaseURL='" + resourceBaseURL + "'" +
", keyStoreHash='" + getKeyStoreHash() + "'" +
", serverPublicKey='" + serverPublicKey + "'" +
"}";
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.onegini.mobile.onegini_example;

@SuppressWarnings({ "unused", "WeakerAccess" })
public final class SecurityController {
public static final boolean rootDetection = false;
public static final boolean debugDetection = false;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can also add
public static final boolean debugLogs = true;
if we want to make devs life easier. We do that in our example app https://github.com/onewelcome/example-app-android/blob/master/app/src/main/java/com/onegini/mobile/exampleapp/SecurityController.java

public static final boolean debugLogs = true;
}

This file was deleted.

Binary file modified example/android/app/src/main/res/raw/keystore.bks
Binary file not shown.
124 changes: 62 additions & 62 deletions example/android/build.gradle
Original file line number Diff line number Diff line change
@@ -1,62 +1,62 @@
buildscript {
ext.kotlin_version = '1.8.0'
repositories {
mavenCentral()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.2.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
def (artifactoryUser, artifactoryPassword) = getArtifactoryCredentials()
if (artifactoryUser?.trim() && artifactoryPassword?.trim()) {
maven {
url "https://repo.onewelcome.com/artifactory/onegini-sdk"
credentials {
username artifactoryUser.trim()
password artifactoryPassword.trim()
}
}
} else {
throw new InvalidUserDataException("You must configure the 'ARTIFACTORY_USER' and 'ARTIFACTORY_PASSWORD' environment variables before you can " +
"build the project.")
}
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
def getArtifactoryCredentials() {
// Leave onegini_ property for backwards compatibility
if (project.hasProperty('onegini_artifactory_user') && project.hasProperty('onegini_artifactory_password')) {
return [onegini_artifactory_user, onegini_artifactory_password]
} else if (project.hasProperty('artifactory_user') && project.hasProperty('artifactory_password')) {
return [artifactory_user, artifactory_password]
} else if (System.env.ARTIFACTORY_USER && System.env.ARTIFACTORY_PASSWORD) {
return [System.env.ARTIFACTORY_USER, System.env.ARTIFACTORY_PASSWORD]
} else {
def artifactoryFile = file("${project.rootDir}/artifactory.properties")
if (artifactoryFile.exists()) {
def props = new Properties()
artifactoryFile.withInputStream { props.load(it) }
return [props.getProperty("artifactoryUser"), props.getProperty("artifactoryPassword")]
}
}
return ["", ""]
}
buildscript {
ext.kotlin_version = '1.8.0'
repositories {
mavenCentral()
google()
}

dependencies {
classpath 'com.android.tools.build:gradle:7.2.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

allprojects {
repositories {
google()
def (artifactoryUser, artifactoryPassword) = getArtifactoryCredentials()
if (artifactoryUser?.trim() && artifactoryPassword?.trim()) {
maven {
url "https://repo.onewelcome.com/artifactory/onegini-sdk"
credentials {
username artifactoryUser.trim()
password artifactoryPassword.trim()
}
}
} else {
throw new InvalidUserDataException("You must configure the 'ARTIFACTORY_USER' and 'ARTIFACTORY_PASSWORD' environment variables before you can " +
"build the project.")
}
}
}

rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}

tasks.register("clean", Delete) {
delete rootProject.buildDir
}

def getArtifactoryCredentials() {
// Leave onegini_ property for backwards compatibility
if (project.hasProperty('onegini_artifactory_user') && project.hasProperty('onegini_artifactory_password')) {
return [onegini_artifactory_user, onegini_artifactory_password]
} else if (project.hasProperty('artifactory_user') && project.hasProperty('artifactory_password')) {
return [artifactory_user, artifactory_password]
} else if (System.env.ARTIFACTORY_USER && System.env.ARTIFACTORY_PASSWORD) {
return [System.env.ARTIFACTORY_USER, System.env.ARTIFACTORY_PASSWORD]
} else {
def artifactoryFile = file("${project.rootDir}/artifactory.properties")
if (artifactoryFile.exists()) {
def props = new Properties()
artifactoryFile.withInputStream { props.load(it) }
return [props.getProperty("artifactoryUser"), props.getProperty("artifactoryPassword")]
}
}
return ["", ""]
}
10 changes: 5 additions & 5 deletions example/ios/Configuration/OneginiConfigModel.m
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,24 @@ @implementation OneginiConfigModel

+ (NSArray *)certificates
{
return @[@"MIIDzTCCArWgAwIBAgIQCjeHZF5ftIwiTv0b7RQMPDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJJRTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTIwMDEyNzEyNDgwOFoXDTI0MTIzMTIzNTk1OVowSjELMAkGA1UEBhMCVVMxGTAXBgNVBAoTEENsb3VkZmxhcmUsIEluYy4xIDAeBgNVBAMTF0Nsb3VkZmxhcmUgSW5jIEVDQyBDQS0zMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEua1NZpkUC0bsH4HRKlAenQMVLzQSfS2WuIg4m4Vfj7+7Te9hRsTJc9QkT+DuHM5ss1FxL2ruTAUJd9NyYqSb16OCAWgwggFkMB0GA1UdDgQWBBSlzjfq67B1DpRniLRF+tkkEIeWHzAfBgNVHSMEGDAWgBTlnVkwgkdYzKz6CFQ2hns6tQRN8DAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8CAQAwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL09tbmlyb290MjAyNS5jcmwwbQYDVR0gBGYwZDA3BglghkgBhv1sAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzALBglghkgBhv1sAQIwCAYGZ4EMAQIBMAgGBmeBDAECAjAIBgZngQwBAgMwDQYJKoZIhvcNAQELBQADggEBAAUkHd0bsCrrmNaF4zlNXmtXnYJX/OvoMaJXkGUFvhZEOFp3ArnPEELG4ZKk40Un+ABHLGioVplTVI+tnkDB0A+21w0LOEhsUCxJkAZbZB2LzEgwLt4I4ptJIsCSDBFelpKU1fwg3FZs5ZKTv3ocwDfjhUkV+ivhdDkYD7fa86JXWGBPzI6UAPxGezQxPk1HgoE6y/SJXQ7vTQ1unBuCJN0yJV0ReFEQPaA1IwQvZW+cwdFD19Ae8zFnWSfda9J1CZMRJCQUzym+5iPDuI9yP+kHyCREU3qzuWFloUwOxkgAyXVjBYdwRVKD05WdRerw6DEdfgkfCv4+3ao8XnTSrLE=", @"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"]; //Base64Certificates
return @[@"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", @"MIIDzTCCArWgAwIBAgIQCjeHZF5ftIwiTv0b7RQMPDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJJRTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTIwMDEyNzEyNDgwOFoXDTI0MTIzMTIzNTk1OVowSjELMAkGA1UEBhMCVVMxGTAXBgNVBAoTEENsb3VkZmxhcmUsIEluYy4xIDAeBgNVBAMTF0Nsb3VkZmxhcmUgSW5jIEVDQyBDQS0zMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEua1NZpkUC0bsH4HRKlAenQMVLzQSfS2WuIg4m4Vfj7+7Te9hRsTJc9QkT+DuHM5ss1FxL2ruTAUJd9NyYqSb16OCAWgwggFkMB0GA1UdDgQWBBSlzjfq67B1DpRniLRF+tkkEIeWHzAfBgNVHSMEGDAWgBTlnVkwgkdYzKz6CFQ2hns6tQRN8DAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8CAQAwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL09tbmlyb290MjAyNS5jcmwwbQYDVR0gBGYwZDA3BglghkgBhv1sAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzALBglghkgBhv1sAQIwCAYGZ4EMAQIBMAgGBmeBDAECAjAIBgZngQwBAgMwDQYJKoZIhvcNAQELBQADggEBAAUkHd0bsCrrmNaF4zlNXmtXnYJX/OvoMaJXkGUFvhZEOFp3ArnPEELG4ZKk40Un+ABHLGioVplTVI+tnkDB0A+21w0LOEhsUCxJkAZbZB2LzEgwLt4I4ptJIsCSDBFelpKU1fwg3FZs5ZKTv3ocwDfjhUkV+ivhdDkYD7fa86JXWGBPzI6UAPxGezQxPk1HgoE6y/SJXQ7vTQ1unBuCJN0yJV0ReFEQPaA1IwQvZW+cwdFD19Ae8zFnWSfda9J1CZMRJCQUzym+5iPDuI9yP+kHyCREU3qzuWFloUwOxkgAyXVjBYdwRVKD05WdRerw6DEdfgkfCv4+3ao8XnTSrLE="]; //Base64Certificates
}

+ (NSDictionary *)configuration
{
return @{
@"ONGAppIdentifier" : @"FlutterExampleApp",
@"ONGAppPlatform" : @"ios",
@"ONGAppVersion" : @"1.0.3",
@"ONGAppBaseURL" : @"https://token-mobile.test.onegini.com",
@"ONGResourceBaseURL" : @"https://token-mobile.test.onegini.com/resources/",
@"ONGAppVersion" : @"1.0.0",
@"ONGAppBaseURL" : @"https://mobile-security-proxy.test.onegini.com",
@"ONGResourceBaseURL" : @"https://mobile-security-proxy.test.onegini.com/resources/",
@"ONGRedirectURL" : @"oneginiexample://loginsuccess",
};
}

+ (NSString *)serverPublicKey
{
return @"4B8E698FEAA9F0A1E99644E77E1AB9EF5F63FBBFBA5EE52D881AADB2C0373336";
return @"E23EDEC22396C17B204D9996295ED0045E5500B3281F0D00F242D71B5A4F3EC9";
}

@end
1 change: 1 addition & 0 deletions example/ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,7 @@
files = (
);
inputPaths = (
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
);
name = "Thin Binary";
outputPaths = (
Expand Down
9 changes: 4 additions & 5 deletions example/lib/screens/login_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class _LoginScreenState extends State<LoginScreen> {

openWeb() async {
/// Start registration
setState(() => {isLoading = true});
setState(() => isLoading = true);

try {
var registrationResponse = await Onegini.instance.userClient.registerUser(
Expand All @@ -72,7 +72,7 @@ class _LoginScreenState extends State<LoginScreen> {
}

registrationWithIdentityProvider(String identityProviderId) async {
setState(() => {isLoading = true});
setState(() => isLoading = true);
try {
var registrationResponse = await Onegini.instance.userClient.registerUser(
identityProviderId,
Expand Down Expand Up @@ -253,9 +253,8 @@ class _LoginScreenState extends State<LoginScreen> {
.map((e) =>
DropdownMenuItem(value: e.profileId, child: Text(e.profileId)))
.toList(),
onChanged: (profileId) => {
setState(() => {selectedProfileId = profileId})
});
onChanged: (profileId) =>
{setState(() => selectedProfileId = profileId)});
}

Column _buildRegisterWidget() {
Expand Down
4 changes: 2 additions & 2 deletions example/lib/screens/pin_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ class _PinScreenState extends State<PinScreen> {
}

submit() {
setState(() => {isLoading = true});
setState(() => isLoading = true);
String pin = "";
pinCode.forEach((element) {
pin += element;
Expand All @@ -68,7 +68,7 @@ class _PinScreenState extends State<PinScreen> {
.acceptAuthenticationRequest(pin)
.catchError((error) {
if (error is PlatformException) {
setState(() => {isLoading = false});
setState(() => isLoading = false);
showFlutterToast(error.message);
}
});
Expand Down
Loading