Google s'engage à promouvoir l'équité raciale pour les communautés noires. Regardez comment.

Bloquer le magasin

De nombreux utilisateurs gèrent toujours leurs propres informations d'identification lors de la configuration d'un nouvel appareil Android. Ce processus manuel peut devenir difficile et entraîne souvent une mauvaise expérience utilisateur. L'API Bloc Store, une bibliothèque alimentée par des services Google Play , cherche à résoudre ce problème en fournissant un moyen pour les applications pour enregistrer les informations d' identification de l' utilisateur sans risque de complexité ou de sécurité associés à l' enregistrement des mots de passe de l' utilisateur.

L'API Block Store permet à votre application de stocker les informations d'identification des utilisateurs qu'elle peut récupérer ultérieurement pour ré-authentifier les utilisateurs sur un nouvel appareil. Cela permet d'offrir une expérience plus fluide à l'utilisateur, car il n'a pas besoin de voir un écran de connexion lors du premier lancement de votre application sur le nouvel appareil.

Les avantages de l'utilisation de Block Store sont les suivants :

  • Solution de stockage d'informations d'identification cryptée pour les développeurs. Les informations d'identification sont chiffrées de bout en bout lorsque cela est possible.
  • Enregistrez des jetons au lieu de noms d'utilisateur et de mots de passe.
  • Éliminez les frictions des flux de connexion.
  • Épargnez aux utilisateurs le fardeau de la gestion de mots de passe complexes.
  • Google vérifie l'identité de l'utilisateur.

Avant que tu commences

Configurez votre application

  1. Dans votre niveau de projet build.gradle fichier, inclure le référentiel Maven de Google à la fois votre buildscript et allprojects sections:

    buildscript {
        repositories {
            google()
        }
    }
    
    allprojects {
        repositories {
            google()
        }
    }
    
  2. Ajoutez les dépendances pour l'API Bloc Store pour une application au niveau du fichier Gradle de votre module, ce qui est généralement app/build.gradle :

    dependencies {
      implementation 'com.google.android.gms:play-services-auth-blockstore:16.0.2'
    }
    

Comment ça fonctionne

Lorsqu'un utilisateur se connecte à votre application, vous pouvez enregistrer le jeton d'authentification que vous générez pour cet utilisateur dans Block Store. Cela se fait en appelant setBytes() sur une instance de StoreBytesData.Builder pour stocker les informations d'identification de l'utilisateur sur le périphérique source. Après avoir enregistré le jeton avec Block Store, le jeton est chiffré et stocké localement sur l'appareil.

L'extrait de code suivant montre comment enregistrer le jeton d'authentification :

val client = Blockstore.getClient(this)
val data = StoreBytesData.Builder()
        .setBytes(/* BYTE_ARRAY */)
        .build()
client.storeBytes(data)
        .addOnSuccessListener{ result ->
            Log.d(TAG, "Stored: ${result.getBytesStored()}")
        }

Plus tard, lorsqu'un utilisateur passe par un flux de restauration d'appareil à appareil sur un nouvel appareil, les services Google Play vérifient d'abord l'utilisateur, puis récupèrent vos données Block Store. L'utilisateur a déjà accepté de restaurer les données de votre application dans le cadre du flux de restauration, donc aucun consentement supplémentaire n'est requis. Lorsque l'utilisateur ouvre votre application, vous pouvez demander votre jeton de magasin Bloc en appelant retrieveBytes() . Le jeton récupéré peut ensuite être utilisé pour que l'utilisateur reste connecté sur le nouvel appareil.

val client = Blockstore.getClient(this)
client.retrieveBytes()
        .addOnSuccessListener { result ->
            Log.d(TAG, "Retrieved: ${String(result)}")
}