Adding PingID MFA to Your Application

This Knowledge Base article provides step by step instructions for using Appdome to add PingID MFA SDK to any Android and iOS mobile app in seconds – no coding required.

About PingID MFA

Using Appdome, mobile applications will work with PingID MFA as if it was natively coded to the application. Appdome for PingID MFA is compatible with mobile applications built in any development environment including native Android and iOS applications, hybrid applications and non-native applications built in Xamarin, Cordova, and React Native, Flutter, Ionic and more. This streamlines implementations, cuts development work, and ensures a guaranteed and consistent integration of PingID MFA to any mobile application.

Using Appdome, there are no development or coding prerequisites. For example, there is no Appdome SDK, libraries, or plug-ins to implement. Users merely upload mobile applications, select PingID MFA and click “Build My App.” The Appdome technology adds PingID MFA and more to the application automatically, with no manual development work at all.

PingID MFA on Appdome can be used with two methods of authentication triggering: Authenticate on App Launch or using Appdome DEV-Events™.

When the user opens an application Built with Authenticate on App Launch, the user will be prompted to authenticate on top of the application’s UI as the application is launched.
When an application is Built with Appdome DEV-Events™, the application will notify Appdome when to start the authentication process.

Prerequisites for Adding PingID MFA to your app

In order to use Appdome’s implementation of PingID MFA on Appdome, you’ll need:

  • Appdome account IDEAL or higher
  • Mobile App (.ipa for iOS, or .apk or .aab for Android)
  • An admin account for your PingID service. There you will need to setup:
    • PingID SDK configuration
    • Setup an Application ID and fill in information about push notification account (for Android) or certificates (for iOS)
  • Integrate PingID SDK for your backend server
  • Signing Credentials (e.g., signing certificates and provisioning profile for iOS)

How to Add PingID MFA to Any Mobile App using Appdome

Follow these step-by-step instructions to add PingID MFA to Any iOS or Android app:

Upload a Mobile Application to Your Account

Please follow these steps to add a mobile app to your Appdome account.
If you don’t have an Appdome account, click here to create an account.

To Build an application with PingID please follow the steps below:

  1. Click the Build TabNote: a blue underline will appear showing the step is active
  2. Click the Identity category
  3. Toggle “ON” Identity Services
  4. Select PingID MFA from the list
  5. Enter the PingID Application ID that you have set up in the PingID admin console
  6. Enter the PingID SDK URL that should point to your backend server that’s been integrated with PingID, to the matching URL which will allow the mobile PingID SDK to authenticate.
  7. Choose if you want to enable Location-Aware Authentication
  8. Choose either Authenticate on App Launch or DEV-EventsTM for triggering the MFA sequence.
  9. Click the Build My App button to complete Appdome’s PingID MFA implementation into the app.

Using Appdome to add PingID MFA to mobile apps without coding

The technology behind Build My App has two major elements – (1) a microservice architecture filled with 1000s of code sets needed for mobile integrations, and (2) an adaptive code generation engine that can recognize the development environment, frameworks and methods in each app and match the app to the relevant code-sets needed to add PingID MFA to the mobile app in seconds.

Congratulations! You now have a mobile app fully integrated with PingID MFA

PingID MFA SDK implemented successfully using Appdome

Appdome Successful Integration

Using Appdome DEV-EventsTM with PingID

DEV-Events™ events are coded in the application as the simplest method available to developers: in Android they implement Broadcasts and in iOS, they are push notifications. To let Appdome handle PingID with DEV-Events™ events, follow this flow in the app’s code:

  1. The application sends an event with ID PINGID_START with keys “user” and “password” with use-name and password values respectively
  2. Appdome implementation of PingID, after submitting the user-name and password and obtaining the result will return the result to the application in event PINGID_DONE_INTIALIZING with status under key “success”

Assuming you have needed values in String objects:

Android

To send a DEV-Events™ event on Android, simply send a broadcast:

Bundle data = new Bundle();
data.putString("user", user);
data.putString("password", password);
Intent intent = new Intent("PINGID_START ");
intent.putExtras(data);
context.sendBroadcast(intent);

To receive an event on Android, simply create a BroadcastReciever and register it for events you need to receive:


BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
         Bundle extras = intent.getExtras();
         String event = intent.getAction();
         if(event.compareTo("PINGID_DONE_INTIALIZING") == 0) {
             if(extras != null && extras.containsKey("success")) {
                String result = extras.getString("success");
                //handle the status, string "true" for success, string "false" for failure
            }   
         } 
    }
};
public void init(Context context) {
   this.context = context;
   reciever = new BroadcastReceiver() {
       @Override
       public void onReceive(Context context, Intent intent) {
          onEvent(intent);
       }
};
      context.registerReceiver(receiver, new IntentFilter("PINGID_DONE_INTIALIZING")); 
}
public void stop() {
   context.unregisterReceiver(reciever);
}
 

iOS

To send a DEV-Events™ event on iOS, simply post a notification:
NSMutableDictionary *eventInfo = [[NSMutableDictionary alloc] init];
eventInfo[@"user"] = user;
eventInfo[@"password"] = password;[[NSNotificationCenter defaultCenter] postNotificationName: @"PINGID_START" object:nil userInfo:eventInfo];

And to receive events, create an observer:[[NSNotificationCenter defaultCenter] addObserverForName: @"PINGID_DONE_INTIALIZING" object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
   BOOL success = [[[note userInfo] objectForKey:@"success"] boolValue];
   NSLog(@"Received Appdome DEV-Events™ PINGID_DONE_INTIALIZING event with success value %d", success);
}];

After Adding PingID MFA to a Mobile App on Appdome

After you have added PingID MFA to any Mobile App on Appdome, there are a few additional steps needed to complete your mobile integration project.

Add Context™ to the Built App

Appdome is a full-featured mobile integration platform. Within Context™, Appdome users can brand the app, including adding a favicon to denote the new service added to the app.
For more information on the range of options available in Context™, please read this knowledge base article.

Sign the PingID MFA enabled Appdome Built App (Required)

In order to deploy an Appdome Built app, it must be signed. Signing iOS apps and Signing Android apps are easy using Appdome. Alternatively, you can use Private Signing, download your unsigned app and sign locally using your own signing methods.

Deploy the Built App to a Mobile Device

Once you have signed your Appdome Built app, you can download to deploy it using your distribution method of choice. For more information on deploying your Built apps, please read this knowledge base.

That is it – Enjoy Appdome for PingID MFA in your app!

How Do I Learn More?

Request a demo at any time.

If you have any questions, please send them our way at support@appdome.com or via the chat window on the Appdome platform.

Thank you!

Thanks for visiting Appdome! Our mission is to make mobile integration easy. We hope we’re living up to the mission with your project. If you don’t already have an account, you can sign up for free.

Kai Kenan

Have a question?

Ask an expert

EladMaking your security project a success!