Fonctionnement

- Un utilisateur ouvre votre application Android et choisit Sign in with Google.
- Votre application Android utilise le Credential Manager pour demander Sign in with Google.
- À l’invite de sélection de compte, l’utilisateur choisit le compte Google qu’il préfère.
- Google authentifie l’utilisateur localement et prend en charge toute l’authentification.
- L’utilisateur termine la connexion sans interaction supplémentaire.
- Google renvoie un
id_tokenà votre application Android. - Votre application Android envoie le
id_tokenà votre locataire Auth0 pour validation. Auth0 valide leclient_idduid_tokenen le comparant auclient_idde la connexion sociale Google configurée dans votre locataire. - Le serveur Auth0 renvoie un
access_tokenà votre application Android.
Avant de commencer
- Une connexion sociale Google a été configurée dans votre locataire Auth0.
- Pour le paramètre Purpose, activez la connexion pour Authentication, Connected Accounts for Token Vault, ou les deux. Pour en savoir plus, consultez Authentification des utilisateurs ou comptes connectés.
- Sign in with Google a été ajouté à votre application Android à l’aide du Credential Manager d’Android.
Configurer Sign in with Google pour les applications Android
- Créer des identifiants dans Google Cloud Console.
- Configurer les paramètres de l’application dans Auth0.
- Mettre à jour le code de votre application Android.
Créer des identifiants dans la console Google Cloud
-
Créez un identifiant OAuth 2.0 dont le type est défini sur
Android. Il est appeléclient_id_native. -
Ajoutez le hachage SHA1 de l’application native au client Android créé à l’étape 1.
- Google ne prend actuellement en charge que SHA1.
-
Créez un identifiant client OAuth supplémentaire pour le Web (
client_id_web).- Dans certains cas, vous avez peut-être déjà configuré cet élément pour vos connexions sociales qui prennent en charge le Web-based Sign in with Google.
Vous ne pouvez pas utiliser Google Credential Manager avec le
client_id Android, sinon une erreur se produira. Dans l’ID Token renvoyé par Google, la partie autorisée (azp) est automatiquement définie sur l’ID client OAuth Android, et l’audience (aud) est définie sur l’ID client OAuth Web.Lors de l’appel à Credential Manager depuis Android, l’application native doit utiliser client_id_web au moyen de .setServerClientId dans le SDK Credential Manager. client_id_web correspond à l’identifiant OAuth 2 de l’application Web dans la console Google Cloud, et il est configuré dans la connexion sociale Google OAuth2. Pour en savoir plus, consultez la documentation de Google.Configurer Auth0
- Auth0 Dashboard
- Management API
Pour mettre à jour l’application dans l’Auth0 Dashboard, suivez les étapes ci-dessous :
- Accédez à Applications > Applications et choisissez votre application Android native.
- Dans l’onglet Settings, développez la section Advanced Settings.
- Sélectionnez l’onglet Device Settings et activez le paramètre Enable Sign in with Google (Android 4.4+) using Credentials Manager.
- Pour les nouvelles applications : dans l’onglet Device Settings, remplissez les champs de la section Android, y compris App Package Name. Pour en savoir plus, consultez Enable Android App Links Support.
- Sélectionnez Save Changes.
Mettre à jour le code de l’application Android
googleCredential nécessite que le code de l’application native appelle la bibliothèque Google. Pour en savoir plus, consultez la documentation de Google sur Credential Manager.
Scénarios d’authentification supplémentaires
Fédération d’entreprise
id_token, comme dans les exemples précédents.
Pour ce faire, décodez le de Google et transmettez le email fourni dans le comme login_hint. Cela évite à l’utilisateur final d’avoir à saisir de nouveau son adresse courriel dans le flux Web.
Considérations relatives à la MFA lors de l’échange de jetons
id_token de Google. Dans ce scénario, l’utilisateur final ne verra que l’écran MFA.