Mobile SDK: Introduction
Futurae offers the ability to turn an existing mobile application into an authenticator app, by integrating the Futurae mobile SDK. In other words, you can have the functionalities of the Futurae mobile app and the Futurae white-label app integrated in your own app.
The Futurae mobile SDK consists of two platform-specific SDKs:
- The Android SDK
- The iOS SDK
The operation of the Futurae mobile SDK is tightly connected with the Futurae backend. Your backend application is responsible for communicating with the Futurae backend. Depending on how Futurae is integrated, your backend application may be directly using the Futurae backend APIs, Auth and Admin, or it may be communicating indirectly through an Identity and Access Management (IAM) platform, such as Airlock IAM, which controls the Futurae authentication and transaction authentication flows.
Regardless, it’s a very good idea to have a basic understanding of how the Futurae backend APIs are used in order to execute the server-side aspects of the functionality that you plan to implement in your apps using the mobile SDK.
Futurae Services
A Futurae Service represents one of your end-user applications (or a set of applications, if they are all using the same user Identity Database), which is to be protected with Futurae authentication. The end users of your application must be enrolled in the corresponding Futurae Service, thereby creating a mapping of your end users into Futurae, which we call Futurae users.
Your backend application needs to be configured with the appropriate Service credentials: Service ID, Auth/Admin API key and Service Hostname (which is the host part of the Service Base URL). You can get these credentials from Futurae Admin.
Each Service belongs to an Organization in Futurae Admin. Refer to this article to learn more about managing Services and Organizations in Futurae Admin.
Mobile SDK Access
Before being able to enroll and use the mobile SDK in your app (instead of using the standalone Futurae app) for the users belonging to the Futurae Service which is configured in your backend application, you need to enable Mobile SDK access for the particular Service. To do so contact Futurae Support and let us know of the Service ID for which you wish to enable mobile SDK access.
SDK Credentials
Once mobile SDK access is enabled for the particular Service, you will be able to retrieve your mobile SDK credentials: SDK ID and SDK key, from Futurae Admin (select the specific Service and then go to Settings → Mobile SDK). You will need these credentials for configuring the mobile SDK in your app.
Push Notification Credentials
In the same Futurae Admin page where you get your mobile SDK credentials from (selected Service → Settings → Mobile SDK), you must also upload your mobile apps' push notification credentials (FCM for Android, and APNS for iOS). This is necessary in order for the Futurae backend to be able to send push notifications to your mobile app, for example when invoking One-Touch authentication for a user.
SDK Access for Multiple Services
If you want to enable mobile SDK Access for multiple Futurae Services then you have two options:
- If those Services will be using the same app build/flavor (in particular: if the app build/flavor uses the same push notification credentials), then there is the possibility to associate the same SDK credentials with those Services.
- If those Services will be using different app build/flavor (in particular: if different push notification credentials need to be configured), then we would have to create and associate separate SDK credentials with those Services.
In either case, contact Futurae Support so that we can set up the appropriate mobile SDK access for your Services.
Futurae Users
As mentioned before, the end users of your application must be enrolled in the corresponding Futurae Service, thereby creating a mapping of your end users into Futurae, which we call Futurae users.
Futurae users can then enroll one or more user devices (such as mobile apps that have the Futurae mobile SDK integrated) in order to perform authentication and transaction authentication using Futurae, when interacting with your application.
Futurae users have a set of attributes associated with them. Arguably the most relevant ones when it comes to integrating the mobile SDK are the following:
user_id
: The Futurae ID of this user. This is a persistent UUID identifier, generated by Futurae.display_name
: An optional display name for the user, which is displayed in the user’s Futurae mobile app. IMPORTANT: Currently the mobile SDK exposes this attribute asusername
. This shouldn’t be confused with the user’susername
attribute that currently only exists in the backend and is not exposed in the mobile SDK.