Push Support
The Nevis Mobile Authentication Solution supports push notifications as an authentication and transaction confirmation channel. The Nevis Mobile SDK does not handle push notifications itself, this needs to be done by the application integrating the SDK.
The Authentication Cloud and Identity Suite both use Google Firebase Cloud Messaging for push notification support.
To use the push channel for authentication and transaction confirmation purposes the following requirements must be met:
- A Firebase project exists with the apps registered and is configured to receive push notifications.
- The app is registered with the Google Firebase Cloud Messaging Service.
- The app is able to obtain and manage the Firebase registration token.
- The app passes the Firebase registration token to the SDK during the registration process.
- The app receives and handles the push message, forwarding the push data to the SDK for processing.
All of these steps are described below in more detail.
Preparing the Firebase Project
Authentication Cloud
Nevis will prepare and manage the Firebase project for you.
To set up Firebase Cloud Messaging, we will require some information from you and in term, provide you with the service account files required for authenticating against the Google Firebase service.
You can also use your own Firebase project if you desire to do so. Nevis managing the Firebase project is for your convenience, but may not fit your needs. This can be useful if you already have one in place for managing other mobile apps.
Use our support portal to provide us with the necessary information.
As a result, you will receive the necessary service account files from Nevis to include in your app.
Android
For the Android app, we require the package name of your application.
ch.nevis.accessapp
android {
...
defaultConfig {
applicationId "ch.nevis.exampleapp"
...
}
}
iOS
For the iOS app, more information is required as Firebase Cloud Messaging will forward the push messages to the Apple Messaging Service internally:
Apple Bundle ID
Example Bundle IDch.nevis.accessapp
Team ID
The team id is part of your Apple developer account information. You'll be able to find this in your Membership details.
Example Team IDA1BCDE234F
Key ID
The key id is managed in the Certificates, Identifiers & Profiles section of your Apple developer account. If it does not exist yet, create one by adding a new key and selecting Apple Push Notifications service (APNs).
Example Key IDABCD12EF34
APNs Key
The APNs key is a file generated when creating a new APNs key, it has the following format
AuthKey_<key id>.p8
.Highly sensitive information- Keep this file safe, you can only download it once.
- Do not share this key with Nevis via support ticket or E-Mail. We will provide you a secure file share to obtain the key from you.
Identity Suite
Follow the official documentation to prepare your firebase project and apps. You're fully responsible for creating, configuring and managing the Firebase project.
Preparing the app
Android
Set up your app to be able to register and receive push notifications from Google Firebase. Refer to the official Firebase documentation. As we've taken care of steps 1 and 2, you can continue with step 3.
iOS
When creating a new profile for your app in the Apple developer account, enable push notifications. Follow the official Firebase documentation how to register for remote notifications.
Obtain and manage the Firebase authentication token
Follow the official Firebase documentation on how to obtain and manage the Firebase authentication token for Android and iOS.
Be aware that the authentication token can change at any time. Because of this your app must actively monitor whether it changed and update the Nevis backend in case the token changed. Else your app will stop receiving push notifications.
The backend information can be updated with the Change device information operation after a successful registration has been performed.
Receiving and handling push notifications
Follow the official Firebase documentation on how to handle receiving push notifications on Android and iOS.
After your app has received the push notification, pass the data to the SDK to perform and authentication or transaction confirmation operation.
Refer to the Out-of-band payload from push notification section to know how to obtain an OutOfBandPayload
java, swift, objc, flutter, react native object from the push message.
Refer to the Out-of-band authentication chapter of the developer guide for details regarding how to use the OutOfBandPayload
to start the operation.