Exemple: Partager des identifiants entre plusieurs sites Web et plusieurs appareils Android

Pour configurer le partage des identifiants entre plusieurs sites Web et plusieurs applications Android vous devez:

  • Désigner un domaine principal: choisissez une URL comme point de référence principal pour .
  • Créez des fichiers assetlinks.json:
    • Domaine principal: créez sur votre domaine principal un fichier assetlinks.json répertoriant qui partagent les identifiants avec tous les domaines.
    • Autres domaines: créez un fichier assetlinks.json sur chacun des autres domaines. domaines, chacun renvoyant vers le domaine principal.
  • Configurer l'association de ressources numériques dans le fichier manifeste de chaque application: configurez chaque application pour vers le fichier assetlinks.json du domaine principal.

Dans l'exemple suivant, nous avons désigné example.com comme domaine principal, et tous les autres les domaines répertoriés partagent des identifiants avec example.com et sur lui-même.

Les deux applications portant les noms de package suivants partagent également des identifiants avec tous les sites Web et entre eux:

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

Avant de configurer le partage des identifiants, vous devez remplir les conditions préalables.

Pour déclarer le partage d'identifiants sur ces sites Web et dans ces applications Android:

  1. Créez un fichier assetlinks.json avec le contenu suivant:

    [
      {
        "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. Hébergez le fichier JSON Digital Asset Links dans le fichier well-known l'emplacement sur le domaine principal, dans ce cas: https://example.com/.well-known/assetlinks.json

  3. Créez un autre fichier assetlinks.json avec le contenu suivant:

    [
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "example.com"
        }
      }
    ]
    
  4. Hébergez des copies de ce fichier JSON Digital Asset Links à l'adresse suivante : sur les autres domaines, dans ce cas:

    • example.org/.well-known/assetlinks.json
    • example.net/.well-known/assetlinks.json
    • mypersonaldomain.com/.well-known/assetlinks.json
  5. Ajoutez la ligne suivante aux deux fichiers manifestes des applications Android sous <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  6. Configurer l'association de ressources numériques dans le fichier manifeste en déclarant l'association dans l'application Android. Ajoutez un objet qui spécifie les fichiers assetlinks.json. à charger. Dans ce cas :

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

Après avoir suivi ces étapes, vous avez réussi à configurer des identifiants fluides le partage entre plusieurs sites Web et applications Android.