MobileID

In-app registration process

247 views September 7, 2017 October 20, 2017 0

This following sequences diagram describes the process when you want to perform the whole registration process inside your app, including identifying the user.

1) User downloads and authenticates in app

User downloads your app.

User has to authenticate when starting the app

  • Typically in a web view
  • This authentication can be your own proprietary authentication, or something Signicat offers.

2) Create account for user

After receiving the authentication result back at your server, you need to:

  • Create a SignicatID account for the user (if he does not have it already), using createAccount() in SCID WS.
  • Create an artifact for the user, using createArtifact() in SCID WS.
  • Use the artifact in the URL in the next step

3) Start registration process

Start a device registration process in a web view, using the in-app registration URL. Along with this URL you need to pass some prefilled parameters:

  • prefilled.externalRef=<external ref for the SignicatID account you created>
  • prefilled.newDeviceType=mobileid
  • artifact=<artifact that was created for the account>
  • (optional) prefilled.newDeviceName=<the desired name of the device to be registered>

During the registration process, a navigation to a URL on the form “mobileid://activationcode/XYZ” will occur. You need to:

  • Intercept this URL in your web view
  • Extract the activation code (“XYZ” in example)

4) Native Encap registration

Start the Encap activation process, using the activation code received in the above step

  • See Encap documentation on how to perform activation

5) Receive and validate SAML response

After Encap activation is complete, the web view will navigate to the URL passed in the “target”-parameter with a SAML-response containing the result of the registration

  • You need to receive and validate this SAML-response in your backend

The app is now ready to be used for authentication

  • To indicate this through the web view, you can send the user to a URL which you intercept in the web view and perform the desired operation

Was this helpful?