Maximisez la commodité pour les utilisateurs en activant le partage fluide des identifiants entre vos applications et vos sites Web. Lorsque plusieurs sites Web et applications Android partagent un backend de gestion de compte, cette fonctionnalité permet aux utilisateurs d'enregistrer des identifiants une seule fois et de les voir suggérés automatiquement sur n'importe quel site Web ou application Android associé.
Bonnes pratiques
Pour une expérience utilisateur et une sécurité optimales, implémentez un partage d'identifiants fluide sur ces points de contact:
- Formulaire de connexion: activez la saisie automatique des identifiants.
- Formulaire d'inscription: stockez de manière sécurisée les nouveaux identifiants à utiliser sur toutes les plates-formes.
- Formulaire de modification du mot de passe: synchronisez les modifications de mot de passe sur toutes les plates-formes.
- Formulaire de réinitialisation du mot de passe: autorisez la réinitialisation du mot de passe pour mettre à jour toutes les plates-formes.
- Domaines WebView: étendez le partage d'identifiants aux domaines WebView de votre application qui gèrent la gestion des comptes (connexions d'hôte, inscription, modification du mot de passe ou formulaires de réinitialisation de mot de passe).
- Applications Android
Cette approche crée un système unifié de gestion des identifiants, ce qui améliore à la fois la commodité et la sécurité pour l'utilisateur.
Lorsque vous concevez vos sites de gestion de compte, nous vous recommandons de respecter les bonnes pratiques suivantes:
- Concevez votre formulaire d'inscription en suivant les bonnes pratiques
- Concevoir votre formulaire de connexion conformément aux bonnes pratiques
- Ajouter une URL well-known pour modifier les mots de passe
Lorsque vous concevez vos applications Android, nous vous recommandons de les intégrer au Gestionnaire d'identifiants Android.
Prérequis
Avant de configurer le partage d'identifiants fluide, assurez-vous de disposer des éléments suivants pour chaque plate-forme:
Pour chaque application Android:
- ID d'application Android, tel que déclaré dans le fichier
build.gradle
de l'application. - Empreinte SHA256 du certificat de signature.
- (Recommandé) Connexion de l'utilisateur implémentée avec l'API Gestionnaire d'identifiants.
Pour chaque site Web:
- Possibilité de publier un fichier
/.well-known/assetlinks.json
sur chaque domaine respectif, en suivant la syntaxe Digital Asset Links (DAL). - Tous les domaines de gestion des comptes (formulaires de connexion, d'inscription, de modification du mot de passe ou de réinitialisation de mot de passe) doivent être accessibles via HTTPS.
Partagez facilement vos identifiants entre les applications Android et les sites Web
Pour configurer le partage fluide des identifiants entre les applications et les sites Web, vous devez créer et publier des listes d'énoncés Digital Asset Links qui déclarent les entités (sites Web ou applications Android) autorisées à partager des identifiants.
Pour déclarer une relation de partage d'identifiants:
Créez un fichier
assetlinks.json
contenant des instructions qui redirigent vers le site Web et vers l'application Android, en suivant la syntaxe de la liste d'instructions DAL:[ { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"web", "site":URL } }, { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"android_app", "package_name":"APP_ID", "sha256_cert_fingerprints":[ "SHA_HEX_VALUE" ] } } ]
Où
URL
est l'URL de votre site,APP_ID
est votre ID d'application Android etSHA_HEX_VALUE
est l'empreinte SHA256 de votre certificat de signature d'application Android.Le champ
relation
décrit la relation déclarée. Pour déclarer que les applications et les sites partagent des identifiants de connexion, spécifiez les relations en tant quedelegate_permission/common.get_login_creds
. Apprenez-en plus sur les chaînes de relations dans les DAL.Le champ
target
est un objet qui spécifie l'élément auquel la déclaration s'applique.Les champs suivants identifient un site Web :
namespace
web
site
URL du site Web, au format
https://domain[:optional_port
] (par exemple, https://www.example.com).La propriété
domain
doit être complète, etoptional_port
doit être omis si vous utilisez le port 443 pour HTTPS.Une cible
site
ne peut être qu'un domaine racine: vous ne pouvez pas limiter une association d'applications à un sous-répertoire spécifique. N'incluez pas de chemin d'accès dans l'URL, comme une barre oblique finale.Les sous-domaines ne sont pas considérés comme identiques. En d'autres termes, si vous spécifiez www.example.com pour le champ
domain
, le domaine www.counter.example.com n'est pas associé à votre application.Les champs suivants identifient une application Android :
espace de noms
android_app
package_name
Nom de package déclaré dans le fichier manifeste de l'application. Par exemple, com.example.android
sha256_cert_fingerprints
Empreinte SHA256 du certificat de signature de votre application.
Hébergez le fichier JSON Digital Asset Links à l'emplacement suivant sur les domaines de connexion :
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json
, oùDOMAIN
est complet etOPTIONAL_PORT
doit être omis si vous utilisez le port 443 pour HTTPS.Déclarez l'association dans l'application Android en insérant une instruction dans le fichier
res/values/strings.xml
de votre application Android qui fait référence à la liste d'instructions que vous avez créée à l'étape 1. Ajoutez un objet qui spécifie les fichiersassetlinks.json
à charger. Exemple :<string name="asset_statements" translatable="false"> [{ \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\" }] </string>
Remplacez
DOMAIN
etOPTIONAL_PORT
(à omettre si vous utilisez le port 443 pour HTTPS) parhttps://www.example.com
, par exemple. Échappez les apostrophes et les guillemets que vous utilisez dans la chaîne.Vous pouvez également ajouter un extrait JSON dans votre fichier
strings.xml
, comme indiqué dans la documentation sur les DAL, mais l'instructioninclude
vous permet de modifier les instructions sans publier de nouvelle version de votre application.Faites référence à l'instruction dans le fichier manifeste en ajoutant la ligne suivante au fichier
AndroidManifest.xml
de votre application sous<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
Publier la nouvelle version de votre application Android dans la Google Play Console
Après avoir suivi ces étapes, vous avez configuré le partage fluide des identifiants entre votre site Web et votre application Android.
Notez que ce n'est pas le seul moyen valide de configurer des DAL pour le partage d'identifiants. Toutefois, cette approche simplifie le processus d'ajout de nouvelles entités à votre réseau de partage d'identifiants fluide, favorise la réutilisation du code et réduit le risque d'erreurs lors des mises à jour.