Configurez le partage d'identifiants entre les applications Android et les sites Web

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:

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:

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:

  1. 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"
          ]
        }
      }
    ]
    

    URL est l'URL de votre site, APP_ID est votre ID d'application Android et SHA_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 que delegate_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, et optional_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.

  2. 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 et OPTIONAL_PORT doit être omis si vous utilisez le port 443 pour HTTPS.

  3. 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 fichiers assetlinks.json à charger. Exemple :

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

    Remplacez DOMAIN et OPTIONAL_PORT (à omettre si vous utilisez le port 443 pour HTTPS) par https://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'instruction include vous permet de modifier les instructions sans publier de nouvelle version de votre application.

  4. 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"/>
    
  5. 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.