Scenarios
OATH
References
Abbreviations and terminology
Mobile Protector SDK
REST API
REST API scenarios

Build the application from the source code (Android)

The sample mobile application project (source code) is provided and needs to be compiled. It includes the complete Android Studio project. Before compiling the code, a few steps need to be executed.

  • Google notifications: Several scenarios rely on Firebase notifications, using the Firebase protocol. Our IdCloud Authentication services require several inputs to be allowed to send these notifications.
    • To use notifications, you must provide Thales with the following: Server key (from Firebase console). Contact your sales representative for more information.
  • Mobile Protector Libraries: Libraries from the Mobile Protector SDK need to be copied into the project.
  • Java Native Access libraries: The project is dependent on third-party libraries found in GitHub.
  • Configuration settings: All the settings specific to a customer are contained in one file. They need to be configured before the application can be compiled.

Instructions

  1. Clone or download the IdCloud Mobile Sample App Github repository for Android
  2. Open the project under sample-app folder in Android Studio.
  3. Deploy the Thales Mobile Protector SDK in the system.
  4. Copy the Mobile Protector SDK libraries to the Sample App project:
    1. Location of libraries in Mobile Protector SDK: [EZIO-MOBILE-SDK]/android/release/
    2. Location of libraries in Android Studio project: [Sample App Project]/libs/

The result should look like this:

Folders Files
[SampleApp Project]/libs/arm64-v8a/ libfid.so, libidp-shared.so, libmedl.so, libopenblas.so
[Sample App Project]/libs/armeabi-v7a/ libfid.so, libidp-shared.so, libmedl.so, libopenblas.so
[Sample App Project]/libs/x86/ libidp-shared.so, libmedl.so
[Sample App Project]/libs/x86_64/ ibidp-shared.so, libmedl.so
[Sample App Project]/libs/ libidpmobile.jar
  1. Copy the Mobile Protector SDK assets to the Sample App project:
    1. Location of assets in Mobile Protector SDK: [EZIO-MOBILE-SDK]/android/assets/*
    2. Location of assets in Android Studio project: [Sample App Project]/app/src/main/assets/

The result should look like this:

Folders Files
[Sample App Project]/app/src/main/assets/data/ FacesCreateTemplateMediumLite.ndf FacesCreateTemplateSmall.ndf FacesDetectSegmentsFeaturePointsTrack.ndf FacesDetectSegmentsLiveness.ndf FacesDetectSegmentsOrientation.ndf
  1. Download libraries from the Java Native Access project on GitHub. You need to include the libjnidispatch.so shared library for all the Android ABIs that your project supports
    1. Navigate to their GitHub Release folder
    2. Download the ZIP file for version 4.5.0 or above
    3. Unzip the package, navigate to the jna-4.5.0/dist/ directory. The libjnidispatch.so for the different ABIs can be extracted from their respective JAR file.

Use this table to find the right libraries

JNA dist jar file Destitnation Folders Files
android-aarch64.jar [SampleApp Project]/libs/arm64-v8a/ libjnidispatch.so
android-armv7.jar [Sample App Project]/libs/armeabi-v7a/ libjnidispatch.so
android-x86.jar [Sample App Project]/libs/x86/ libjnidispatch.so
android-x86-64.jar [Sample App Project]/libs/x86_64/ libjnidispatch.so
  1. Update the code with the IdCloud Authentication account configuration:
    1. Open the file: [Sample App Project]/app/src/id_cloud/java/com/gemalto/eziomobilesampleapp/Configuration.java
    2. Update the contents of the file, based on the output forms provided by Thales IdCloud (see the section Configuration Settings Mapping below).
Parameter Section Output form property
C_CFG_SDK_ACTIVATION_CODE Contact your Thales Sales representative to obtain this value N/A
C_CFG_OTP_RSA_KEY_MODULUS EPS Project Provisioner Endpoint > Public Key Modulus
C_CFG_OTP_RSA_KEY_EXPONENT EPS Project Provisioner Endpoint > Public Key Exponent
C_CFG_OTP_PROVISION_URL EPS Project Provisioner Endpoint > URL
C_CFG_OTP_RSA_KEY_ID EPS Project Provisioner Endpoint > Public Key ID
C_CFG_OOB_RSA_KEY_MODULUS MSM Project Applications > Application Public Key Modulus
C_CFG_OOB_RSA_KEY_EXPONENT MSM Project Applications > Application Public Key Exponent
C_CFG_OOB_URL MSM Project Client API > URL
C_CFG_OOB_DOMAIN MSM Project Provider API > Tenant Name
C_CFG_OOB_APP_ID MSM Project Applications > Application ID
C_CFG_OOB_PROVIDER_ID MSM Project Provider API > Provider ID
C_CFG_FACE_ID_PRODUCT_KEY Contact your Thales Sales representative for more details on how to obtain a license. N/A
C_CFG_FACE_ID_SERVER_URL Contact your Thales Sales representative for more details on how to obtain a license. N/A
C_CFG_MSP_OBFUSCATION_CODE Reserved for future use. N/A
C_CFG_MSP_SIGN_KEYS Reserved for future use. N/A
C_CFG_TUTO_BASICAUTH_USERNAME CAS Project User Creation and Admin API > Customer admin user
C_CFG_TUTO_BASICAUTH_PASSWORD CAS Project User Creation and Admin API > Customer admin password
C_CFG_TUTO_URL_ROOT POC Tutorial Web Site URL

Parameters not included in this list can be left β€œas is” for this proof of concept. They will however need to be customized for a production release. All the values are found in the β€œOnboarding Output Form” PDF that has been provided to you by Thales.

  1. Compile the application.
  2. Deploy the application in an Android device.