Google (groupes d'identités) - Amazon Cognito

Google (groupes d'identités)

Amazon Cognito s'intègre à Google pour fournir une authentification fédérée pour les utilisateurs de votre application mobile. Cette section explique comment enregistrer et configurer votre application avec Google comme fournisseur d'identité.

Android

Note

Si votre application utilise Google et qu'elle est disponible sur plusieurs plateformes mobiles, vous devez configurer Google en tant que fournisseur OpenID Connect. Ajoutez tous les identifiants client créés en tant que valeurs supplémentaires pour le public, pour une meilleure intégration. Pour en savoir plus sur le modèle d'identité à plusieurs clients de Google, consultez cette page.

Configuration de Google

Pour activer la connexion Google pour Android, créez un projet de console Google Developers pour votre application.

  1. Accédez à la console Google Developers et créez un projet.

  2. Choisissez API et services, puis Écran de consentement OAuth. Personnalisez les informations que Google montre à vos utilisateurs quand il leur demande de consentir à partager leurs données de profil avec votre application.

  3. Choisissez Identifiants, puis Créer des identifiants. Choisissez ID client OAuth. Sélectionnez Android comme Type d'application. Créez un ID client distinct pour chaque plateforme où vous développez votre application.

  4. Dans Identifiants, choisissez Gérer les comptes de service. Choisissez Créer un compte de service. Saisissez les détails de votre compte de service, puis choisissez Créer et continuer.

  5. Accordez au compte de service l'accès à votre projet. Accordez aux utilisateurs l'accès au compte de service selon les besoins de votre application.

  6. Choisissez votre nouveau compte de service, choisissez l'onglet Clés et Ajouter une clé. Créez et téléchargez une nouvelle clé JSON.

Pour plus d'informations sur l'utilisation de la console Google Developers, consultezCréer et gérer des projets dans la documentation Google Cloud.

Pour plus d'informations sur l'intégration de Google dans votre application Android, consultez Google Sign-In for Android dans la documentation Google Identity.

Configuration du fournisseur externe dans la console Amazon Cognito

Choisissez Manage Identity Pools (Gérer les groupes d'identité) dans la page d'accueil de la console Amazon Cognito.

  1. Choisissez le nom du groupe d'identités dans lequel vous souhaitez activer Google comme fournisseur externe. La page Dashboard (Tableau de bord) correspondant à votre groupe d'identités s'affiche.

  2. Dans l'angle supérieur droit de la page Dashboard (Tableau de bord), choisissez Edit identity pool (Modifier le groupe d'identités). La page Edit identity pool (Modifier le groupe d'identités) s'affiche.

  3. Faites défiler l'affichage vers le bas et choisissez Authentication providers (Fournisseurs d'authentification). La page de modification du groupe d'identités s'agrandit pour afficher d'autres options de fournisseur d'authentification.

  4. Choisissez l'onglet Google.

  5. Sélectionnez Unlock (Déverrouiller).

  6. Saisissez l'ID client Google que vous avez créé dans la console Google Cloud, puis choisissez Save Changes (Enregistrer les modifications).

Utilisation de Google

Pour activer la connexion avec Google dans votre application, suivez les instructions fournies dans la documentation Google pour Android. Lorsqu'un utilisateur se connecte, il demande un jeton d'authentification OpenID Connect à Google. Amazon Cognito utilise alors ce jeton pour authentifier l'utilisateur et générer un identifiant unique.

L'exemple de code suivant illustre comment récupérer le jeton d'authentification auprès du service Google Play :

GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext()); AccountManager am = AccountManager.get(this); Account[] accounts = am.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE); String token = GoogleAuthUtil.getToken(getApplicationContext(), accounts[0].name, "audience:server:client_id:YOUR_GOOGLE_CLIENT_ID"); Map<String, String> logins = new HashMap<String, String>(); logins.put("accounts.google.com", token); credentialsProvider.setLogins(logins);

iOS : Objective-C

Note

Si votre application utilise Google et qu'elle est disponible sur plusieurs plateformes mobiles, configurez Google en tant que fournisseur OpenID Connect. Ajoutez tous les identifiants client créés en tant que valeurs supplémentaires pour le public, pour une meilleure intégration. Pour en savoir plus sur le modèle d'identité à plusieurs clients de Google, consultez cette page.

Configuration de Google

Pour activer la connexion Google pour iOS, créez un projet de console Google Developers pour votre application.

  1. Accédez à la console Google Developers et créez un projet.

  2. Choisissez API et services, puis Écran de consentement OAuth. Personnalisez les informations que Google montre à vos utilisateurs quand il leur demande de consentir à partager leurs données de profil avec votre application.

  3. Choisissez Identifiants, puis Créer des identifiants. Choisissez ID client OAuth. Sélectionnez iOS comme Type d'application. Créez un ID client distinct pour chaque plateforme où vous développez votre application.

  4. Dans Identifiants, choisissez Gérer les comptes de service. Choisissez Créer un compte de service. Saisissez les détails de votre compte de service, puis choisissez Créer et continuer.

  5. Accordez au compte de service l'accès à votre projet. Accordez aux utilisateurs l'accès au compte de service selon les besoins de votre application.

  6. Choisissez votre nouveau compte de service. Choisissez l'onglet Clés et Ajouter une clé. Créez et téléchargez une nouvelle clé JSON.

Pour plus d'informations sur l'utilisation de la console Google Developers, consultezCréer et gérer des projets dans la documentation Google Cloud.

Pour plus d'informations sur l'intégration de Google dans votre application iOS, consultez Google Sign-In for iOS dans la documentation Google Identity.

Choisissez Manage Identity Pools (Gérer les groupes d'identité) dans la page d'accueil de la console Amazon Cognito.

Configuration du fournisseur externe dans la console Amazon Cognito

  1. Choisissez le nom du groupe d'identités dans lequel vous souhaitez activer Google comme fournisseur externe. La page Dashboard (Tableau de bord) correspondant à votre groupe d'identités s'affiche.

  2. Dans l'angle supérieur droit de la page Dashboard (Tableau de bord), choisissez Edit identity pool (Modifier le groupe d'identités). La page Edit identity pool (Modifier le groupe d'identités) s'affiche.

  3. Faites défiler l'affichage vers le bas et choisissez Authentication providers (Fournisseurs d'authentification) pour développer cette option.

  4. Choisissez l'onglet Google.

  5. Sélectionnez Unlock (Déverrouiller).

  6. Saisissez l'ID client Google que vous avez obtenu auprès de Google, puis choisissez Save Changes (Enregistrer les modifications).

Utilisation de Google

Pour activer la connexion avec Google dans votre application, reportez-vous à la documentation Google pour iOS. Une authentification réussie produit un jeton d'authentification OpenID Connect, qu'Amazon Cognito utilise pour authentifier l'utilisateur et générer un identifiant unique.

Une authentification réussie produit un objet GTMOAuth2Authentication contenant un id_token qu'Amazon Cognito utilise pour authentifier l'utilisateur et générer un identifiant unique :

- (void)finishedWithAuth: (GTMOAuth2Authentication *)auth error: (NSError *) error { NSString *idToken = [auth.parameters objectForKey:@"id_token"]; credentialsProvider.logins = @{ @(AWSCognitoLoginProviderKeyGoogle): idToken }; }

iOS : Swift

Note

Si votre application utilise Google et qu'elle est disponible sur plusieurs plateformes mobiles, configurez Google en tant que fournisseur OpenID Connect. Ajoutez tous les identifiants client créés en tant que valeurs supplémentaires pour le public, pour une meilleure intégration. Pour en savoir plus sur le modèle d'identité à plusieurs clients de Google, consultez cette page.

Configuration de Google

Pour activer la connexion Google pour iOS, créez un projet de console Google Developers pour votre application.

  1. Accédez à la console Google Developers et créez un projet.

  2. Choisissez API et services, puis Écran de consentement OAuth. Personnalisez les informations que Google montre à vos utilisateurs quand il leur demande de consentir à partager leurs données de profil avec votre application.

  3. Choisissez Identifiants, puis Créer des identifiants. Choisissez ID client OAuth. Sélectionnez iOS comme Type d'application. Créez un ID client distinct pour chaque plateforme où vous développez votre application.

  4. Dans Identifiants, choisissez Gérer les comptes de service. Choisissez Créer un compte de service. Saisissez les détails de votre compte de service, puis choisissez Créer et continuer.

  5. Accordez au compte de service l'accès à votre projet. Accordez aux utilisateurs l'accès au compte de service selon les besoins de votre application.

  6. Choisissez votre nouveau compte de service, choisissez l'onglet Clés et Ajouter une clé. Créez et téléchargez une nouvelle clé JSON.

Pour plus d'informations sur l'utilisation de la console Google Developers, consultezCréer et gérer des projets dans la documentation Google Cloud.

Pour plus d'informations sur l'intégration de Google dans votre application iOS, consultez Google Sign-In for iOS dans la documentation Google Identity.

Choisissez Manage Identity Pools (Gérer les groupes d'identité) dans la page d'accueil de la console Amazon Cognito.

Configuration du fournisseur externe dans la console Amazon Cognito

  1. Choisissez le nom du groupe d'identités dans lequel vous souhaitez activer Google comme fournisseur externe. La page Dashboard (Tableau de bord) correspondant à votre groupe d'identités s'affiche.

  2. Dans l'angle supérieur droit de la page Dashboard (Tableau de bord), choisissez Edit identity pool (Modifier le groupe d'identités). La page Edit identity pool (Modifier le groupe d'identités) s'affiche.

  3. Faites défiler l'affichage vers le bas et choisissez Authentication providers (Fournisseurs d'authentification) pour développer cette option.

  4. Choisissez l'onglet Google.

  5. Sélectionnez Unlock (Déverrouiller).

  6. Saisissez l'ID client Google que vous avez obtenu auprès de Google, puis choisissez Save Changes (Enregistrer les modifications).

Utilisation de Google

Pour activer la connexion avec Google dans votre application, reportez-vous à la documentation Google pour iOS. Une authentification réussie produit un jeton d'authentification OpenID Connect, qu'Amazon Cognito utilise pour authentifier l'utilisateur et générer un identifiant unique.

Une authentification réussie produit un objet GTMOAuth2Authentication qui contient un jeton id_token. Amazon Cognito utilise ce jeton pour authentifier l'utilisateur et générer un identifiant unique :

func finishedWithAuth(auth: GTMOAuth2Authentication!, error: NSError!) { if error != nil { print(error.localizedDescription) } else { let idToken = auth.parameters.objectForKey("id_token") credentialsProvider.logins = [AWSCognitoLoginProviderKey.Google.rawValue: idToken!] } }

JavaScript

Note

Si votre application utilise Google et qu'elle est disponible sur plusieurs plateformes mobiles, vous devez configurer Google en tant que fournisseur OpenID Connect. Ajoutez tous les identifiants client créés en tant que valeurs supplémentaires pour le public, pour une meilleure intégration. Pour en savoir plus sur le modèle d'identité à plusieurs clients de Google, consultez cette page.

Configuration de Google

Pour activer la connexion Google pour une application web JavaScript, créez un projet de console Google Developers pour votre application.

  1. Accédez à la console Google Developers et créez un projet.

  2. Choisissez API et services, puis Écran de consentement OAuth. Personnalisez les informations que Google montre à vos utilisateurs quand il leur demande de consentir à partager leurs données de profil avec votre application.

  3. Choisissez Identifiants, puis Créer des identifiants. Choisissez ID client OAuth. Sélectionnez Application web comme Type d'application. Créez un ID client distinct pour chaque plateforme où vous développez votre application.

  4. Dans Identifiants, choisissez Gérer les comptes de service. Choisissez Créer un compte de service. Saisissez les détails de votre compte de service, puis choisissez Créer et continuer.

  5. Accordez au compte de service l'accès à votre projet. Accordez aux utilisateurs l'accès au compte de service selon les besoins de votre application.

  6. Choisissez votre nouveau compte de service, choisissez l'onglet Clés et Ajouter une clé. Créez et téléchargez une nouvelle clé JSON.

Pour plus d'informations sur l'utilisation de la console Google Developers, consultezCréer et gérer des projets dans la documentation Google Cloud.

Pour plus d'informations sur l'intégration de Google dans votre application web, consultez Se connecter avec Google dans la documentation Google Identity.

Configuration du fournisseur externe dans la console Amazon Cognito

Choisissez Manage Identity Pools (Gérer les groupes d'identité) dans la page d'accueil de la console Amazon Cognito.

  1. Choisissez le nom du groupe d'identités dans lequel vous souhaitez activer Google comme fournisseur externe. La page Dashboard (Tableau de bord) correspondant à votre groupe d'identités s'affiche.

  2. Dans l'angle supérieur droit de la page Dashboard (Tableau de bord), choisissez Edit identity pool (Modifier le groupe d'identités). La page Edit identity pool (Modifier le groupe d'identités) s'affiche.

  3. Faites défiler l'affichage vers le bas et choisissez Authentication providers (Fournisseurs d'authentification) pour développer cette option.

  4. Choisissez l'onglet Google.

  5. Sélectionnez Unlock (Déverrouiller).

  6. Saisissez l'ID du client Google que vous avez obtenu auprès de Google et choisissez Save Changes (Enregistrer les modifications).

Utilisation de Google

Pour activer la connexion avec Google dans votre application, reportez-vous à la documentation Google pour le web.

Une authentification réussie produit un objet de réponse contenant un jeton id_token qu'Amazon Cognito utilise pour authentifier l'utilisateur et générer un identifiant unique :

function signinCallback(authResult) { if (authResult['status']['signed_in']) { // Add the Google access token to the Amazon Cognito credentials login map. AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: 'IDENTITY_POOL_ID', Logins: { 'accounts.google.com': authResult['id_token'] } }); // Obtain AWS credentials AWS.config.credentials.get(function(){ // Access AWS resources here. }); } }

Unity

Configuration de Google

Pour activer la connexion Google pour une application Unity, créez un projet de console Google Developers pour votre application.

  1. Accédez à la console Google Developers et créez un projet.

  2. Choisissez API et services, puis Écran de consentement OAuth. Personnalisez les informations que Google montre à vos utilisateurs quand il leur demande de consentir à partager leurs données de profil avec votre application.

  3. Choisissez Identifiants, puis Créer des identifiants. Choisissez ID client OAuth. Sélectionnez Application web comme Type d'application. Créez un ID client distinct pour chaque plateforme où vous développez votre application.

  4. Pour Unity, créez un ID client OAuth pour Android, et un autre pour iOS.

  5. Dans Identifiants, choisissez Gérer les comptes de service. Choisissez Créer un compte de service. Saisissez les détails de votre compte de service, puis choisissez Créer et continuer.

  6. Accordez au compte de service l'accès à votre projet. Accordez aux utilisateurs l'accès au compte de service selon les besoins de votre application.

  7. Choisissez votre nouveau compte de service, choisissez l'onglet Clés et Ajouter une clé. Créez et téléchargez une nouvelle clé JSON.

Pour plus d'informations sur l'utilisation de la console Google Developers, consultezCréer et gérer des projets dans la documentation Google Cloud.

Création d'un fournisseur OpenID dans la console IAM

  1. Créez un fournisseur OpenID dans la console IAM. Pour obtenir des informations sur la façon de configurer un fournisseur OpenID, consultez la page Utilisation des fournisseurs d'identité OpenID Connect.

  2. Lorsque vous êtes invité à indiquer l'URL du fournisseur, saisissez "https://accounts.google.com".

  3. Lorsque vous êtes invité à saisir une valeur dans le champ Audience (Public), indiquez l'un des trois ID client créés lors des étapes précédentes.

  4. Choisissez le nom du fournisseur et ajoutez deux autres publics ciblés avec les deux autres ID client.

Configuration du fournisseur externe dans la console Amazon Cognito

Choisissez Manage Identity Pools (Gérer les groupes d'identité) dans la page d'accueil de la console Amazon Cognito.

  1. Choisissez le nom du groupe d'identités dans lequel vous souhaitez activer Google comme fournisseur externe. La page Dashboard (Tableau de bord) correspondant à votre groupe d'identités s'affiche.

  2. Dans l'angle supérieur droit de la page Dashboard (Tableau de bord), choisissez Edit identity pool (Modifier le groupe d'identités). La page Edit identity pool (Modifier le groupe d'identités) s'affiche.

  3. Faites défiler l'affichage vers le bas et choisissez Authentication providers (Fournisseurs d'authentification) pour développer cette option.

  4. Choisissez l'onglet Google.

  5. Sélectionnez Unlock (Déverrouiller).

  6. Saisissez l'ID du client Google que vous avez obtenu auprès de Google et choisissez Save Changes (Enregistrer les modifications).

Installation du plugin Unity Google

  1. Ajoutez le plugin Google Play Games pour Unity au projet Unity.

  2. Dans Unity, à partir du menu Windows, utilisez les trois identifiants créés pour les plateformes Android et iOS pour configurer le plugin.

Utilisation de Google

L'exemple de code suivant illustre comment récupérer le jeton d'authentification auprès du service Google Play :

void Start() { PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().Build(); PlayGamesPlatform.InitializeInstance(config); PlayGamesPlatform.DebugLogEnabled = true; PlayGamesPlatform.Activate(); Social.localUser.Authenticate(GoogleLoginCallback); } void GoogleLoginCallback(bool success) { if (success) { string token = PlayGamesPlatform.Instance.GetIdToken(); credentials.AddLogin("accounts.google.com", token); } else { Debug.LogError("Google login failed. If you are not running in an actual Android/iOS device, this is expected."); } }

Xamarin

Note

Amazon Cognito ne prend pas en charge Google en mode natif sur la plateforme Xamarin. Elle nécessite actuellement l'utilisation d'une vue Web pour suivre la procédure de connexion dans le navigateur. Pour découvrir comment l'intégration de Google fonctionne avec les autres kits SDK, veuillez sélectionner une autre plateforme.

Pour activer la connexion avec Google dans votre application, authentifiez vos utilisateurs et obtenez d'eux un jeton OpenID Connect. Amazon Cognito utilise ce jeton pour générer un identifiant utilisateur unique associé à une identité Amazon Cognito. Malheureusement, le kit Google SDK pour Xamarin ne vous permet pas de récupérer le jeton OpenID Connect. Vous devez donc utiliser un autre client ou le flux web dans une vue web.

Une fois que vous avez ce jeton, vous pouvez le définir dans CognitoAWSCredentials :

credentials.AddLogin("accounts.google.com", token);
Note

Si votre application utilise Google et qu'elle est disponible sur plusieurs plateformes mobiles, vous devez configurer Google en tant que fournisseur OpenID Connect. Ajoutez tous les identifiants client créés en tant que valeurs supplémentaires pour le public, pour une meilleure intégration. Pour en savoir plus sur le modèle d'identité à plusieurs clients de Google, consultez cette page.