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

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

  • Specifica un dominio principale: scegli un URL come punto di riferimento principale per .
  • Crea assetlinks.json file:
    • Dominio principale: crea un file assetlinks.json nel dominio principale che indichi tutti i domini condividono le credenziali.
    • Altri domini: crea un file assetlinks.json uno sull'altro domini, ciascuno dei quali rimanda al dominio principale.
  • Configura il collegamento degli asset digitali nel file manifest di ogni app. Configura ogni app per per tornare al file assetlinks.json nel dominio principale.

Nel seguente esempio, abbiamo specificato example.com come dominio principale e tutti gli altri i domini elencati condividono le credenziali con example.com e tra loro.

Anche le due app con i seguenti nomi di pacchetto condividono le credenziali con nei 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 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 nel noto corrispondente file posizione 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 Android in <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  6. Configura il collegamento degli asset digitali nel 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 correttamente la credenziale la condivisione su più siti web e app per Android.