L'un des principaux prérequis pour implémenter une expérience de connexion fluide avec Credential Manager dans votre application et sur votre site Web consiste à établir une association sécurisée entre eux. Pour ce faire, ils utilisent des fichiers Digital Asset Links, qui permettent aux fournisseurs d'identifiants de partager des identifiants de manière sécurisée entre votre application et votre site Web. Par exemple, un site Web peut déclarer qu'il partage des identifiants avec une application Android ou un autre site Web à l'aide d'un fichier Digital Asset Links. L'utilisation des liens Digital Asset permet à vos utilisateurs de bénéficier d'une expérience de connexion fluide et d'utiliser les mêmes identifiants enregistrés sur les applications et sites Web associés.
Configurer Digital Asset Links entre votre application et votre site Web
Pour permettre aux fournisseurs d'identifiants d'utiliser des clés d'accès et des mots de passe de manière courante dans votre application et sur votre site Web, créez un fichier Digital Asset Links pour votre application en procédant comme suit :
1. Créer le fichier JSON Digital Asset Links
Créez un fichier nommé assetlinks.json avec la structure suivante :
[
{
"relation" : [
"<array_of_permissions_granted_to_app>"
],
"target" : {
"namespace" : "android_app",
"package_name" : "<android_application_package_name>",
"sha256_cert_fingerprints" : [
"<sha256_certificate_fingerprint_of_signing_key>"
]
}
}
]
relation: tableau d'une ou de plusieurs chaînes décrivant la relation déclarée. Pour déclarer que les applications et les sites partagent des identifiants de connexion, spécifiez les relations suivantes dans un tableau :delegate_permission/common.handle_all_urls: cette relation permet d'utiliser les liens vers une application Android, qui permettent à votre application Android de gérer toutes les URL Web d'un domaine spécifique.delegate_permission/common.get_login_creds: cette relation permet de partager des identifiants entre votre site Web et votre application Android.
target: objet qui spécifie l'élément auquel la déclaration s'applique.target.namespace: définissez cette valeur surandroid_app.target.package_name: définissez cette valeur sur le nom du package déclaré dans le fichier manifeste de l'application (par exemple,com.example.android).
sha256_cert_fingerprints: empreintes SHA256 du certificat de signature de votre application. Pour récupérer l'empreinte SHA256 de votre application, consultez Déclarer des associations de sites.
Voici un exemple de cible pour une application :
[
{
"relation" : [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target" : {
"namespace" : "android_app",
"package_name" : "com.example.android",
"sha256_cert_fingerprints" : [
SHA_HEX_VALUE
]
}
}
]
2. Héberger le fichier JSON Digital Asset Links
Hébergez le fichier Digital Asset Links à l'emplacement suivant sur le domaine de connexion de votre site Web :
```none
https://domain[:optional_port]/.well-known/assetlinks.json
```
Par exemple, si votre domaine de connexion est signin.example.com, hébergez le fichier sur https://signin.example.com/.well-known/assetlinks.json.
Le type MIME du fichier Digital Asset Links doit être JSON. Assurez-vous que le serveur envoie un en-tête Content-Type: application/json dans la réponse, avec l'état HTTP défini sur 200.
3. Autoriser la récupération du fichier Digital Asset Links
Mettez à jour votre hôte pour autoriser Google à récupérer votre fichier Digital Asset Links. La plupart des sites Web autorisent n'importe quel agent automatisé à récupérer les fichiers du chemin /.well-known/ afin que d'autres services puissent accéder aux métadonnées de ces fichiers.
Si vous avez un fichier robots.txt, autorisez les robots d'exploration Web à récupérer /.well-known/assetlinks.json en mettant à jour le fichier robots.txt comme suit :
User-agent: *
Allow: /.well-known/
4. Mettre à jour le fichier manifeste de l'application
Dans le fichier manifeste de votre application, ajoutez les lignes suivantes sous <application> :
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
5. Configurer Digital Asset Links pour les mots de passe
Si vous utilisez le Gestionnaire d'identifiants pour les mots de passe, vous devez effectuer une étape supplémentaire pour configurer les liens vers les ressources numériques.
Ajoutez un objet qui spécifie les fichiers assetlinks.json à charger dans le fichier manifeste. Vous devez échapper les apostrophes et les guillemets que vous utilisez dans la chaîne, comme illustré dans l'exemple suivant :
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://signin.example.com/.well-known/assetlinks.json\"
}]
</string>
Le lien https://signin.example.com/.well-known/assetlinks.json doit renvoyer une réponse HTTP 200 et comporter un en-tête Content-Type de application/json.
La validation échoue si la réponse comporte une redirection HTTP 301 ou 302, ou un Content-Type non JSON.
L'exemple suivant montre un exemple de requête et les en-têtes de réponse attendus :
> GET /.well-known/assetlinks.json HTTP/1.1
> User-Agent: curl/7.35.0
> Host: signin.example.com
< HTTP/1.1 200 OK
< Content-Type: application/json
Étapes suivantes
Après avoir ajouté les dépendances nécessaires et configuré les liens de ressources numériques pour les clés d'accès, vous pouvez utiliser le Gestionnaire d'identifiants pour implémenter les méthodes d'authentification compatibles : clés d'accès et Se connecter avec Google. Pour commencer, consultez les guides du développeur suivants :
- Configurer des clés d'accès avec Credential Manager : découvrez comment implémenter des clés d'accès, la méthode moderne et résistante à l'hameçonnage pour une authentification sécurisée et conviviale.
- Configurer Se connecter avec Google avec Credential Manager : intégrez "Se connecter avec Google" pour simplifier la connexion des utilisateurs avec leur compte Google.
- Résoudre les erreurs courantes liées au Gestionnaire d'identifiants : découvrez comment résoudre les erreurs courantes liées au Gestionnaire d'identifiants.
- Intégrer Firebase Authentication : permettez à vos utilisateurs de s'authentifier avec Firebase à l'aide de leur compte Google.