Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • domain: Secure Backend IP address or hostname

  • port

  • osType (should be set to “Android”)

  • hardwareDescription

  • terminalId: terminal ID received when registering the device in the database

  • clientId: client ID received when registering the user in the database

  • secret: client secret received when registering the user in the database

  • ownCertPass: the owner of the backend certificate

  • checkServCert: some field to be verified inside the backend certficates

  • certDir: certificates location inside the phone

  • safetynetKey: the Google Safetynet access key

Which gives us the following code as example:

Code Block
// Provisioning parameters
val settings = """
    |{
    |"domain":"mydev.domainatheos.nameca",
    |"port":8090443,
    |"osType":"Android",
    |"hardwareDescription":"AmadisOneClient",
    |"terminalId":"123456789111111111111",
    |"clientId":2"<client_id>",   
    |"secret":"DbIHpPvGbfnj6j8gh6mG7FtB8eAgO1yM8V0DnDPT<client_secret>",
    |"ownCertPass":"amadis",
    |"checkSrvCert":"iSSuer.Cn =  Alexandre Munsch    |   subJect/St   ~    Quebec   ",
    |"certDir": "${getSecureClientDir()}",
    |"safetynetKey":"<safetynet_key>"
    |}""".trimMargin()

Flow

The provisioning step is supposed to happen only once in the application lifetime (unless some parameters need to be changed - for example, a change of user ID or a change of domain name, etc…).

...