Pour configurer le partage d'identifiants sur 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 les liens.
- Créer des fichiers
assetlinks.json
:- Domaine principal: créez un fichier
assetlinks.json
sur votre domaine principal qui liste tous les domaines partageant des identifiants. - Autres domaines: créez un fichier
assetlinks.json
sur chacun des autres domaines, chacun redirigeant vers le domaine principal.
- Domaine principal: créez un fichier
- Configurez l'association d'éléments numériques dans le fichier manifeste de chaque application: configurez chaque application pour qu'elle redirige 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 domaines listés partagent des identifiants avec example.com et entre eux.
- example.com (domaine principal)
- example.org
- example.net
- myownpersonaldomain.com
Les deux applications avec 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 d'identifiants, vous devez remplir les conditions préalables.
Pour déclarer le partage d'identifiants entre ces sites Web et ces applications Android:
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" ] } } ]
Hébergez le fichier JSON Digital Asset Links à l'emplacement well-known correspondant sur le domaine principal, dans ce cas :
https://example.com/.well-known/assetlinks.json
.Créez un autre fichier
assetlinks.json
avec le contenu suivant:[ { "relation": ["delegate_permission/common.get_login_creds"], "target": { "namespace": "web", "site": "example.com" } } ]
Hébergez des copies de ce fichier JSON Digital Asset Links à l'emplacement suivant 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
Ajoutez la ligne suivante aux deux fichiers manifestes d'applications Android sous
<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
Configurez l'association d'assets 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>
Une fois ces étapes effectuées, vous avez configuré le partage fluide des identifiants sur plusieurs sites Web et applications Android.