This is a Silent mobile verification implementation demonstration meant to ease client integration process. It consists of two modules: enterprise backend and an end-user client. Additional information can be found on our Wiki. Published under Apache 2.0 license.
The following requirements need to be installed and available in your $PATH
- JDK 19 or above
- Apache Maven
- Flutter 3.19.0 or above
- 26 (Android 8.0) - 30 (Android 13.0) API level to run on an Android device
$ git clone [email protected]:infobip/infobip-silent-mobile-verification-demo
$ cd infobip-silent-mobile-verification-demo/demo-backend
$ mvn install
$ cd ../demo-client
$ flutter pub get
iOS part of the demo application is currently not fully developed and will be available soon. Application can be built, but it will not work as expected.
The application uses the API Key Header authentication method to communicate with the Infobip's Mobile Identity services. Note that there are other authentication methods available too (see the official documentation). Once you have an Infobip account, you can manage your API keys through the Infobip API key management page. To see your base URL, log in to the Infobip API Resource hub with your Infobip credentials or visit your Infobip account.
Backend service application needs to have a publicly available callback endpoint so that Infobip is able to reach it. In this demo, the callback endpoint is set on /verify/callback
.
With this information, properties in infobip-silent-mobile-verification-demo/demo-backend/src/main/resources/application.yml
should be changed as follows:
- append
App
string with the API key as theinfobip-http-client.authorization
property - base URL as the
infobip-http-client.infobip-base-url
property - publicly exposed callback endpoint URL as the
verify.callback-endpoint
property - set the
using-proxy
property totrue
if there is a proxy between the end-user client and the backend service communication
On the end-user client, backendApiBaseUrl
property in infobip-silent-mobile-verification-demo/demo-client/lib/config/app_config.dart
should be set to a URL of the backend service that is accessible by the end-user client (if having problems with this see Why the end-user client can not access the backend service?).
$ cd infobip-silent-mobile-verification-demo/demo-backend
$ mvn spring-boot:run
Start a device emulator or connect a physical device, then do the following:
$ cd infobip-silent-mobile-verification-demo/demo-client
$ flutter run