Esempio: condividere le credenziali su più siti web e app per Android

Per configurare la condivisione delle credenziali su più siti web e più app per Android, devi:

  • Specifica un dominio principale: scegli un URL come punto di riferimento principale per i link.
  • Crea file assetlinks.json:
    • Dominio principale: crea un file assetlinks.json nel dominio principale che elenchi tutti i domini che condividono le credenziali.
    • Altri domini: crea un file assetlinks.json in ciascuno degli altri domini, ognuno dei quali rimanda al dominio principale.
  • Configura il collegamento degli asset digitali nel file manifest di ogni app: configura ogni app per il collegamento al file assetlinks.json nel dominio principale.

Nell'esempio seguente, abbiamo indicato example.com come dominio principale e tutti gli altri domini elencati condividono le credenziali con example.com e tra se stessi.

Le due app con i seguenti nomi di pacchetto condividono anche le credenziali con tutti i siti web e tra di loro:

  • com.example.android.myapplication
  • com.example.appname

Prima di configurare la condivisione delle credenziali, devi completare i prerequisiti.

Per dichiarare la condivisione delle credenziali tra questi siti web e queste app per Android:

  1. Crea un file assetlinks.json con i seguenti contenuti:

    [   {     "relation": ["delegate_permission/common.get_login_creds"],     "target": {       "namespace": "web",       "site": "https://example.com"     }   },   {     "relation": ["delegate_permission/common.get_login_creds"],     "target": {       "namespace": "web",       "site": "https://example.org"     }   },   {     "relation": ["delegate_permission/common.get_login_creds"],     "target": {       "namespace": "web",       "site": "https://example.net"     }   },   {     "relation": ["delegate_permission/common.get_login_creds"],     "target": {       "namespace": "web",       "site": "https://myownpersonaldomain.com"     }   },   {     "relation" : [       "delegate_permission/common.get_login_creds"     ],     "target" : {       "namespace" : "android_app",       "package_name" : "com.example.android.myapplication",       "sha256_cert_fingerprints" : [ "AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00:AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00"       ]     }   },   {     "relation" : [       "delegate_permission/common.get_login_creds"     ],     "target" : {       "namespace" : "android_app",       "package_name" : "com.example.appname",       "sha256_cert_fingerprints" : [ "00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF"       ]     }   } ] 
  2. Ospita il file JSON Digital Asset Links nella corrispondente posizione well-known sul dominio principale, in questo caso:https://example.com/.well-known/assetlinks.json.

  3. Crea un altro file assetlinks.json con i seguenti contenuti:

    [   {     "relation": ["delegate_permission/common.get_login_creds"],     "target": {       "namespace": "web",       "site": "example.com"     }   } ] 
  4. Ospita copie di questo file JSON Digital Asset Links nella seguente posizione sugli altri domini, in questo caso:

    • example.org/.well-known/assetlinks.json
    • example.net/.well-known/assetlinks.json
    • mypersonaldomain.com/.well-known/assetlinks.json
  5. Aggiungi la seguente riga a entrambi i file manifest delle app per Android in <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/> 
  6. Configura il collegamento degli asset digitali nel file manifest dichiarando l'associazione nell'app per Android. Aggiungi un oggetto che specifichi i file assetlinks.json da caricare. In questo caso:

    <string name="asset_statements" translatable="false"> [{   \"include\": \"https://example.com/.well-known/assetlinks.json\" }] </string> 

Dopo aver seguito questi passaggi, avrai configurato la condivisione senza problemi delle credenziali su più siti web e app per Android.