Configurazione di Google come IdP del pool di identità - Amazon Cognito

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione di Google come IdP del pool di identità

Amazon Cognito si integra con Google per fornire l'autenticazione federata per gli utenti della tua applicazione per dispositivi mobili. Questa sezione spiega come registrare e impostare la tua applicazione con Google come provider di identità.

Android

Nota

Se l'app utilizza Google ed è disponibile su più piattaforme per dispositivi mobili, è necessario configurarla come provider OpenID Connect. Aggiungi tutti gli ID client creati come valori di destinatari aggiuntivi per consentire una migliore integrazione. Per ulteriori informazioni sul modello di identità di più client di Google, consulta l'articolo Cross-client Identity.

Configurazione di Google

Per attivare Google Sign-in per Android, è necessario creare un progetto di console di Google Developers per l'applicazione.

  1. Vai alla console di Google Developers e crea un nuovo progetto.

  2. Scegli APIs & Services (API e servizi), quindi OAuth consent screen (Schermata del consenso OAuth). Personalizza le informazioni che Google mostra agli utenti quando richiede il consenso per condividere i dati del profilo con la tua app.

  3. Scegli Credentials (Credenziali), quindi Create credentials (Crea credenziali). Scegli OAuth client ID (ID client OAuth). Seleziona Android per Application type (Tipo di applicazione). Crea un ID client separato per ogni piattaforma in cui sviluppi la tua app.

  4. Da Credentials (Credenziali), scegli Manage service accounts (Gestione degli account del servizio). Scegli Create service account (Crea account del servizio). Inserisci i dettagli dell'account del servizio, quindi scegli Create and continue (Crea e continua).

  5. Concedi all'account del servizio l'accesso al tuo progetto. Concedi agli utenti l'accesso all'account del servizio come richiesto dall'app.

  6. Scegli il tuo nuovo account del servizio, seleziona la scheda Keys (Chiavi) e Add key (Aggiungi chiave). Crea e scarica una nuova chiave JSON.

Per ulteriori informazioni su come utilizzare la console di Google Developers, consulta Creating and managing projects (Creazione e gestione di progetti) nella documentazione di Google Cloud.

Per ulteriori informazioni su come integrare Google nella tua app Android, consulta Autenticare gli utenti con Accedi con Google nella documentazione di Google Identity.

Per aggiungere un gestore dell'identità digitale di Google
  1. Scegli Pool di identità dalla console di Amazon Cognito. Seleziona un pool di identità.

  2. Seleziona la scheda Accesso utente.

  3. Seleziona Aggiungi provider di identità.

  4. Seleziona Google.

  5. Inserisci l'ID cliente del progetto OAuth creato su Google Cloud Platform. Per ulteriori informazioni, consultare Configurazione di OAuth 2.0 della Guida in linea della console di Google Cloud Platform.

  6. Per impostare il ruolo richiesto da Amazon Cognito quando emette credenziali per gli utenti che hanno eseguito l'autenticazione con questo provider, configura Impostazioni ruolo.

    1. Puoi assegnare agli utenti di tale IdP il ruolo predefinito impostato quando hai configurato il ruolo autenticato oppure selezionare l'opzione Scegli ruolo con regole.

      1. Se scegli l'opzione Scegli ruolo con regole, inserisci la Richiesta dall'autenticazione dell'utente, l'Operatore con cui desideri confrontare la richiesta, il Valore che determina una corrispondenza a questa scelta di ruolo e il Ruolo che desideri assegnare quando l'Assegnazione del ruolo corrisponde. Seleziona Aggiungi un altro per creare una regola aggiuntiva basata su una condizione diversa.

      2. Scegli una Risoluzione del ruolo. Quando le richieste dell'utente non corrispondono alle regole, puoi negare le credenziali o emettere credenziali per il Ruolo autenticato.

  7. Per modificare i tag principali assegnati da Amazon Cognito quando emette credenziali per gli utenti che hanno eseguito l'autenticazione con questo provider, configura Attributi per il controllo degli accessi.

    1. Per non applicare alcun tag principale, scegli Inattivo.

    2. Per applicare i tag principali in base alle richieste sub e aud, scegli Utilizza mappature predefinite.

    3. Per creare un tuo schema personalizzato di attributi dei tag principali, scegli Utilizza mappature personalizzate. Quindi, inserisci una Chiave tag che deve essere originata da ciascuna Richiesta che desideri rappresentare in un tag.

  8. Seleziona Salva modifiche.

Utilizzo di Google

Per abilitare l'accesso con Google nella tua applicazione, segui le istruzioni della documentazione di Google per Android. Quando un utente esegue l'accesso, viene richiesto un token di autenticazione OpenID Connect a Google. Quindi, Amazon Cognito utilizza il token per autenticare l'utente e generare un identificatore univoco.

Il seguente codice di esempio illustra come recuperare il token di autenticazione da 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

Nota

Se l'app utilizza Google ed è disponibile su più piattaforme per dispositivi mobili, è necessario configurare Google come provider OpenID Connect. Aggiungi tutti gli ID client creati come valori di destinatari aggiuntivi per consentire una migliore integrazione. Per ulteriori informazioni sul modello di identità di più client di Google, consulta l'articolo Cross-client Identity.

Configurazione di Google

Per abilitare Google Sign-in per iOS, è necessario creare un progetto di console di Google Developers per la tua applicazione.

  1. Vai alla console di Google Developers e crea un nuovo progetto.

  2. Scegli APIs & Services (API e servizi), quindi OAuth consent screen (Schermata del consenso OAuth). Personalizza le informazioni che Google mostra agli utenti quando richiede il consenso per condividere i dati del profilo con la tua app.

  3. Scegli Credentials (Credenziali), quindi Create credentials (Crea credenziali). Scegli OAuth client ID (ID client OAuth). Seleziona iOS per Application type (Tipo di applicazione). Crea un ID client separato per ogni piattaforma in cui sviluppi la tua app.

  4. Da Credentials (Credenziali), scegli Manage service accounts (Gestione degli account del servizio). Scegli Create service account (Crea account del servizio). Inserisci i dettagli dell'account del servizio e scegli Create and continue (Crea e continua).

  5. Concedi all'account del servizio l'accesso al tuo progetto. Concedi agli utenti l'accesso all'account del servizio come richiesto dall'app.

  6. Scegli il tuo nuovo account del servizio. Scegli la scheda Keys (Chiavi) e Add key (Aggiungi chiave). Crea e scarica una nuova chiave JSON.

Per ulteriori informazioni su come utilizzare la console di Google Developers, consulta Creating and managing projects (Creazione e gestione di progetti) nella documentazione di Google Cloud.

Per ulteriori informazioni sull'integrazione di Google nell'app iOS, consulta Google Sign-In per iOS nella documentazione di Google Identity.

Per aggiungere un gestore dell'identità digitale di Google
  1. Scegli Pool di identità dalla console di Amazon Cognito. Seleziona un pool di identità.

  2. Seleziona la scheda Accesso utente.

  3. Seleziona Aggiungi provider di identità.

  4. Seleziona Google.

  5. Inserisci l'ID cliente del progetto OAuth creato su Google Cloud Platform. Per ulteriori informazioni, consultare Configurazione di OAuth 2.0 della Guida in linea della console di Google Cloud Platform.

  6. Per impostare il ruolo richiesto da Amazon Cognito quando emette credenziali per gli utenti che hanno eseguito l'autenticazione con questo provider, configura Impostazioni ruolo.

    1. Puoi assegnare agli utenti di tale IdP il ruolo predefinito impostato quando hai configurato il ruolo autenticato oppure selezionare l'opzione Scegli ruolo con regole.

      1. Se scegli l'opzione Scegli ruolo con regole, inserisci la Richiesta dall'autenticazione dell'utente, l'Operatore con cui desideri confrontare la richiesta, il Valore che determina una corrispondenza a questa scelta di ruolo e il Ruolo che desideri assegnare quando l'Assegnazione del ruolo corrisponde. Seleziona Aggiungi un altro per creare una regola aggiuntiva basata su una condizione diversa.

      2. Scegli una Risoluzione del ruolo. Quando le richieste dell'utente non corrispondono alle regole, puoi negare le credenziali o emettere credenziali per il Ruolo autenticato.

  7. Per modificare i tag principali assegnati da Amazon Cognito quando emette credenziali per gli utenti che hanno eseguito l'autenticazione con questo provider, configura Attributi per il controllo degli accessi.

    1. Per non applicare alcun tag principale, scegli Inattivo.

    2. Per applicare i tag principali in base alle richieste sub e aud, scegli Utilizza mappature predefinite.

    3. Per creare un tuo schema personalizzato di attributi dei tag principali, scegli Utilizza mappature personalizzate. Quindi, inserisci una Chiave tag che deve essere originata da ciascuna Richiesta che desideri rappresentare in un tag.

  8. Seleziona Salva modifiche.

Utilizzo di Google

Per abilitare l'accesso con Google nella tua applicazione, segui la documentazione Google per iOS. In caso di autenticazione corretta, si genera un token di autenticazione di OpenID Connect, utilizzato da Amazon Cognito per autenticare l'utente e generare un identificatore univoco.

In caso di autenticazione corretta, viene generato un oggetto GTMOAuth2Authentication contenente un id_token, utilizzato da Amazon Cognito per autenticare l'utente e generare un identificatore univoco:

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

iOS - Swift

Nota

Se l'app utilizza Google ed è disponibile su più piattaforme per dispositivi mobili, è necessario configurare Google come provider OpenID Connect. Aggiungi tutti gli ID client creati come valori di destinatari aggiuntivi per consentire una migliore integrazione. Per ulteriori informazioni sul modello di identità di più client di Google, consulta l'articolo Cross-client Identity.

Configurazione di Google

Per abilitare Google Sign-in per iOS, è necessario creare un progetto di console di Google Developers per la tua applicazione.

  1. Vai alla console di Google Developers e crea un nuovo progetto.

  2. Scegli APIs & Services (API e servizi), quindi OAuth consent screen (Schermata del consenso OAuth). Personalizza le informazioni che Google mostra agli utenti quando richiede il consenso per condividere i dati del profilo con la tua app.

  3. Scegli Credentials (Credenziali), quindi Create credentials (Crea credenziali). Scegli OAuth client ID (ID client OAuth). Seleziona iOS per Application type (Tipo di applicazione). Crea un ID client separato per ogni piattaforma in cui sviluppi la tua app.

  4. Da Credentials (Credenziali), scegli Manage service accounts (Gestione degli account del servizio). Scegli Create service account (Crea account del servizio). Inserisci i dettagli dell'account del servizio e scegli Create and continue (Crea e continua).

  5. Concedi all'account del servizio l'accesso al tuo progetto. Concedi agli utenti l'accesso all'account del servizio come richiesto dall'app.

  6. Scegli il tuo nuovo account del servizio, seleziona la scheda Keys (Chiavi) e Add key (Aggiungi chiave). Crea e scarica una nuova chiave JSON.

Per ulteriori informazioni su come utilizzare la console di Google Developers, consulta Creating and managing projects (Creazione e gestione di progetti) nella documentazione di Google Cloud.

Per ulteriori informazioni sull'integrazione di Google nell'app iOS, consulta Google Sign-In per iOS nella documentazione di Google Identity.

Scegli Gestisci pool di identità dalla home page della console Amazon Cognito:

Configurazione del provider esterno nella console Amazon Cognito
  1. Scegli il nome del pool di identità per cui vuoi abilitare Google come provider esterno. Viene visualizzata la pagina Dashboard (Pannello di controllo) per il tuo pool di identità.

  2. Nell'angolo in alto a destra della pagina Dashboard (Pannello di controllo), scegli Edit identity pool (Modifica pool di identità). Viene visualizzata la pagina Edit identity pool (Modifica pool di identità).

  3. Scorri verso il basso e scegli Authentication providers (Provider di autenticazione) per espandere la sezione.

  4. Scegli la scheda Google .

  5. Scegli Unlock (Sblocca).

  6. Inserisci l'ID client ottenuto da Google, quindi scegli Save Changes (Salva le modifiche).

Utilizzo di Google

Per abilitare l'accesso con Google nella tua applicazione, segui la documentazione Google per iOS. In caso di autenticazione corretta, viene generato un token di autenticazione OpenID Connect, utilizzato da Amazon Cognito per autenticare l'utente e generare un identificatore univoco.

L'autenticazione completata restituisce un oggetto GTMOAuth2Authentication contenente un id_token. Amazon Cognito utilizza questo token per autenticare l'utente e generare un identificatore univoco:

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

Nota

Se l'app utilizza Google ed è disponibile su più piattaforme per dispositivi mobili, è necessario configurare Google come provider OpenID Connect. Aggiungi tutti gli ID client creati come valori di destinatari aggiuntivi per consentire una migliore integrazione. Per ulteriori informazioni sul modello di identità di più client di Google, consulta l'articolo Cross-client Identity.

Configurazione di Google

Per abilitare Google Sign-in per un'app JavaScript web, crea un progetto di console Google Developers per la tua applicazione.

  1. Vai alla console di Google Developers e crea un nuovo progetto.

  2. Scegli APIs & Services (API e servizi), quindi OAuth consent screen (Schermata del consenso OAuth). Personalizza le informazioni che Google mostra agli utenti quando chiede il consenso a condividere i dati del profilo con la tua app.

  3. Scegli Credentials (Credenziali), quindi Create credentials (Crea credenziali). Scegli OAuth client ID (ID client OAuth). Seleziona Web application (Applicazione Web) per Application type (Tipo di applicazione). Crea un ID client separato per ogni piattaforma in cui sviluppi la tua app.

  4. Da Credentials (Credenziali), scegli Manage service accounts (Gestione degli account del servizio). Scegli Create service account (Crea account del servizio). Inserisci i dettagli dell'account del servizio e scegli Create and continue (Crea e continua).

  5. Concedi all'account del servizio l'accesso al tuo progetto. Concedi agli utenti l'accesso all'account del servizio come richiesto dall'app.

  6. Scegli il tuo nuovo account del servizio, seleziona la scheda Keys (Chiavi) e Add key (Aggiungi chiave). Crea e scarica una nuova chiave JSON.

Per ulteriori informazioni su come utilizzare la console di Google Developers, consulta Creating and managing projects (Creazione e gestione di progetti) nella documentazione di Google Cloud.

Per ulteriori informazioni su come integrare Google nella tua app Web, consulta Sign In With Google nella documentazione di Google Identity.

Configurazione del provider esterno nella console Amazon Cognito

Per aggiungere un gestore dell'identità digitale di Google
  1. Scegli Pool di identità dalla console di Amazon Cognito. Seleziona un pool di identità.

  2. Seleziona la scheda Accesso utente.

  3. Seleziona Aggiungi provider di identità.

  4. Seleziona Google.

  5. Inserisci l'ID cliente del progetto OAuth creato su Google Cloud Platform. Per ulteriori informazioni, consultare Configurazione di OAuth 2.0 della Guida in linea della console di Google Cloud Platform.

  6. Per impostare il ruolo richiesto da Amazon Cognito quando emette credenziali per gli utenti che hanno eseguito l'autenticazione con questo provider, configura Impostazioni ruolo.

    1. Puoi assegnare agli utenti di tale IdP il ruolo predefinito impostato quando hai configurato il ruolo autenticato oppure selezionare l'opzione Scegli ruolo con regole.

      1. Se scegli l'opzione Scegli ruolo con regole, inserisci la Richiesta dall'autenticazione dell'utente, l'Operatore con cui desideri confrontare la richiesta, il Valore che determina una corrispondenza a questa scelta di ruolo e il Ruolo che desideri assegnare quando l'Assegnazione del ruolo corrisponde. Seleziona Aggiungi un altro per creare una regola aggiuntiva basata su una condizione diversa.

      2. Scegli una Risoluzione del ruolo. Quando le richieste dell'utente non corrispondono alle regole, puoi negare le credenziali o emettere credenziali per il Ruolo autenticato.

  7. Per modificare i tag principali assegnati da Amazon Cognito quando emette credenziali per gli utenti che hanno eseguito l'autenticazione con questo provider, configura Attributi per il controllo degli accessi.

    1. Per non applicare alcun tag principale, scegli Inattivo.

    2. Per applicare i tag principali in base alle richieste sub e aud, scegli Utilizza mappature predefinite.

    3. Per creare un tuo schema personalizzato di attributi dei tag principali, scegli Utilizza mappature personalizzate. Quindi, inserisci una Chiave tag che deve essere originata da ciascuna Richiesta che desideri rappresentare in un tag.

  8. Seleziona Salva modifiche.

Utilizzo di Google

Per abilitare l'accesso con Google nella tua applicazione, segui la documentazione Google per Web.

In caso di autenticazione corretta, viene generato un oggetto di risposta contenente un id_token, utilizzato da Amazon Cognito per autenticare l'utente e generare un identificatore univoco:

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. }); } }

Unità

Configurazione di Google

Per abilitare Google Sign-in per un'app Unity, è necessario creare un progetto di console di Google Developers per la tua applicazione.

  1. Vai alla console di Google Developers e crea un nuovo progetto.

  2. Scegli APIs & Services (API e servizi), quindi OAuth consent screen (Schermata del consenso OAuth). Personalizza le informazioni che Google mostra agli utenti quando richiede il consenso per condividere i dati del profilo con la tua app.

  3. Scegli Credentials (Credenziali), quindi Create credentials (Crea credenziali). Scegli OAuth client ID (ID client OAuth). Seleziona Web application (Applicazione Web) per Application type (Tipo di applicazione). Crea un ID client separato per ogni piattaforma in cui sviluppi la tua app.

  4. Per Unity, crea un ulteriore ID client OAuth per Android e un altro per iOS.

  5. Da Credentials (Credenziali), scegli Manage service accounts (Gestione degli account del servizio). Scegli Create service account (Crea account del servizio). Inserisci i dettagli dell'account del servizio e scegli Create and continue (Crea e continua).

  6. Concedi all'account del servizio l'accesso al tuo progetto. Concedi agli utenti l'accesso all'account del servizio come richiesto dall'app.

  7. Scegli il tuo nuovo account del servizio, seleziona la scheda Keys (Chiavi) e Add key (Aggiungi chiave). Crea e scarica una nuova chiave JSON.

Per ulteriori informazioni su come utilizzare la console di Google Developers, consulta Creating and managing projects (Creazione e gestione di progetti) nella documentazione di Google Cloud.

Creazione di un provider OpenID nella console IAM

  1. Crea un provider OpenID nella console IAM. Per istruzioni su come configurare un provider OpenID, consulta Utilizzo dei provider di identità OpenID Connect.

  2. Quando viene richiesto l'URL del tuo provider, immetti "https://accounts.google.com".

  3. Quando viene richiesto di immettere un valore nel campo Destinatari, immetti uno dei tre ID client creati nelle fasi precedenti.

  4. Scegli il nome del provider e aggiungi due ulteriori destinatari con gli altri due ID client.

Configurazione del provider esterno nella console Amazon Cognito

Scegli Gestisci pool di identità dalla home page della console Amazon Cognito:

Per aggiungere un gestore dell'identità digitale di Google
  1. Scegli Pool di identità dalla console di Amazon Cognito. Seleziona un pool di identità.

  2. Seleziona la scheda Accesso utente.

  3. Seleziona Aggiungi provider di identità.

  4. Seleziona Google.

  5. Inserisci l'ID cliente del progetto OAuth creato su Google Cloud Platform. Per ulteriori informazioni, consultare Configurazione di OAuth 2.0 della Guida in linea della console di Google Cloud Platform.

  6. Per impostare il ruolo richiesto da Amazon Cognito quando emette credenziali per gli utenti che hanno eseguito l'autenticazione con questo provider, configura Impostazioni ruolo.

    1. Puoi assegnare agli utenti di tale IdP il ruolo predefinito impostato quando hai configurato il ruolo autenticato oppure selezionare l'opzione Scegli ruolo con regole.

      1. Se scegli l'opzione Scegli ruolo con regole, inserisci la Richiesta dall'autenticazione dell'utente, l'Operatore con cui desideri confrontare la richiesta, il Valore che determina una corrispondenza a questa scelta di ruolo e il Ruolo che desideri assegnare quando l'Assegnazione del ruolo corrisponde. Seleziona Aggiungi un altro per creare una regola aggiuntiva basata su una condizione diversa.

      2. Scegli una Risoluzione del ruolo. Quando le richieste dell'utente non corrispondono alle regole, puoi negare le credenziali o emettere credenziali per il Ruolo autenticato.

  7. Per modificare i tag principali assegnati da Amazon Cognito quando emette credenziali per gli utenti che hanno eseguito l'autenticazione con questo provider, configura Attributi per il controllo degli accessi.

    1. Per non applicare alcun tag principale, scegli Inattivo.

    2. Per applicare i tag principali in base alle richieste sub e aud, scegli Utilizza mappature predefinite.

    3. Per creare un tuo schema personalizzato di attributi dei tag principali, scegli Utilizza mappature personalizzate. Quindi, inserisci una Chiave tag che deve essere originata da ciascuna Richiesta che desideri rappresentare in un tag.

  8. Seleziona Salva modifiche.

Installazione del plugin di Google per Unity

  1. Aggiungi il plugin Google Play Giochi per Unity al tuo progetto Unity.

  2. In Unity, dal menu di Windows configura il plug-in utilizzando i tre ID per le piattaforme Android e iOS.

Utilizzo di Google

Il seguente codice di esempio illustra come recuperare il token di autenticazione da 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

Nota

Amazon Cognito non supporta in modo nativo Google sulla piattaforma Xamarin. Richiede attualmente l'uso di una visualizzazione Web per seguire il flusso di accesso del browser. Per ulteriori informazioni su come l'integrazione di Google funziona con altri SDK, scegli un'altra piattaforma.

Per abilitare l'accesso con Google nella tua applicazione, autentica gli utenti e recupera un token OpenID Connect. Amazon Cognito usa questo token per generare un identificatore utente univoco associato a un'identità di Amazon Cognito. Purtroppo, l'SDK di Google per Xamarin non consente di recuperare il token OpenID Connect, perciò è necessario utilizzare un client alternativo o il flusso Web in una visualizzazione Web.

Dopo aver ottenuto il token, puoi impostarlo in CognitoAWSCredentials:

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

Se l'app utilizza Google ed è disponibile su più piattaforme per dispositivi mobili, è necessario configurare Google come provider OpenID Connect. Aggiungi tutti gli ID client creati come valori di destinatari aggiuntivi per consentire una migliore integrazione. Per ulteriori informazioni sul modello di identità di più client di Google, consulta l'articolo Cross-client Identity.