Skip to main content
Sign in with Google permet aux utilisateurs de s’authentifier avec un compte Google actif, en leur offrant une expérience de connexion fluide dans votre application. Vous pouvez intégrer cette fonctionnalité à vos applications Android natives à l’aide de Credential Manager pour Android avec Auth0. Consultez les sections ci-dessous pour en savoir plus sur les étapes et les méthodes nécessaires pour configurer Sign in with Google.

Fonctionnement

Cette fonctionnalité utilise le Credential Manager d’Android pour faciliter Sign in with Google dans votre application Android protégée par Auth0. Les étapes ci-dessous illustrent le flux général suivi par l’utilisateur pour Sign in with Google.
  1. L’utilisateur ouvre votre application Android et choisit de se connecter avec Google.
  2. Votre application Android utilise le Credential Manager pour demander Sign in with Google.
  3. À l’étape de sélection du compte, l’utilisateur choisit le compte Google de son choix.
  4. Google connecte l’utilisateur localement et gère toute l’authentication.
  5. L’utilisateur termine la connexion sans aucune interaction supplémentaire.
  6. Google renvoie un id_token à votre application Android.
  7. Votre application Android envoie le id_token à votre tenant Auth0 pour validation. Auth0 valide le client_id du id_token par rapport au client_id de la connexion sociale Google configurée dans votre tenant.
  8. Le serveur Auth0 renvoie un access_token à votre application Android.

Avant de commencer

Avant de commencer à configurer Sign in with Google, assurez-vous que les conditions suivantes sont remplies :

Configurer Sign in with Google pour les applications Android

La configuration de Sign in with Google comprend trois grandes étapes :
  1. Créer des identifiants dans Google Cloud Console.
  2. Configurer les détails de l’application dans Auth0.
  3. Mettre à jour le code de votre application Android.
Les sections ci-dessous fournissent des précisions techniques sur chacune de ces étapes.

Créer des identifiants dans la Google Cloud Console

Pour commencer, vous devez d’abord configurer les éléments suivants dans votre Google Cloud Console :
  1. Créez un identifiant OAuth 2.0 de type Android. Il est appelé client_id_native.
  2. Ajoutez le hachage SHA1 de l’application native au client Android de l’étape 1.
    • À l’heure actuelle, Google ne prend en charge que SHA1.
  3. Créez un client OAuth Web supplémentaire (client_id_web).
    • Dans certains cas, vous avez peut-être déjà configuré cet élément pour vos connexions sociales qui prennent en charge Sign in with Google sur le Web.
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) correspond automatiquement au Client ID OAuth Android, et l’audience (aud) correspond au Client ID OAuth Web.Lorsque vous utilisez le Credentials Manager à partir d’Android, l’application native doit utiliser client_id_web au moyen de .setServerClientId dans le SDK Credentials Manager. client_id_web correspond à l’identifiant OAuth 2 de type Web Application dans la Google Cloud Console, et il est configuré dans la connexion sociale Google OAuth2. Pour en savoir plus, consultez la documentation de Google.

Configurer Auth0

Le flux Sign in with Google repose sur le Token Exchange, qui s’effectue entre Auth0 et votre application Android. Après avoir créé vos identifiants dans la Google Cloud Console, vous pouvez activer Sign in with Google à l’aide du Credential Manager pour Android. Pour ce faire, mettez à jour votre application au moyen de l’ ou de la .
Pour mettre à jour l’application dans l’Auth0 Dashboard, suivez les étapes ci-dessous :
  1. Accédez à Applications > Applications et choisissez votre application Android native.
  2. Dans l’onglet Settings, développez la section Advanced Settings.
  3. Sélectionnez l’onglet Device Settings et activez le paramètre Enable Sign in with Google (Android 4.4+) using Credentials Manager.
  4. 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.
  5. Sélectionnez Save Changes.

Mettre à jour le code dans l’application Android

L’exemple suivant peut compléter le flux Web utilisé pour les authentifications qui ne passent pas par Google, comme Microsoft, le nom d’utilisateur et mot de passe, ou les fédérations d’entreprise.
L’obtention de googleCredential nécessite que le code de l’application native fasse appel à la bibliothèque Google. Pour en savoir plus, consultez la documentation de Google sur Credential Manager.

Scénarios d’authentification supplémentaires

Bien que la mise en œuvre actuelle de Google ne fournisse pas de directives claires concernant la fédération d’entreprise et les demandes de vérification supplémentaires d’ (MFA), vous pouvez prendre en charge ces fonctionnalités en passant à l’expérience Web.

Fédération d’entreprise

Auth0 prend en charge la fédération d’entreprise, ce qui vous permet de connecter des fournisseurs d’identité d’entreprise externes (comme Okta Workforce, ADFS ou d’autres systèmes compatibles avec OIDC) à votre tenant Auth0 afin que les utilisateurs puissent ensuite s’authentifier avec leurs identifiants d’entreprise existants. Si vous devez utiliser la fédération d’entreprise, il est recommandé de rediriger l’utilisateur vers le flux web plutôt que de vous fier au id_token, comme illustré dans les exemples précédents. Pour ce faire, décodez le jeton 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

Auth0 renvoie une erreur à l’application lors de l’échange de jetons lorsque la politique de la connexion Google OAuth exige l’authentification multifacteur. Cette erreur est incluse dans la réponse envoyée à l’application. Lorsque cette erreur se produit, votre application peut utiliser WebAuth avec le contexte enrichi disponible dans le id_token de Google. Dans ce scénario, l’utilisateur final ne verra que l’écran MFA.