Come faccio a configurare Google come provider dell'identità digitale federato in un pool di utenti Amazon Cognito?

6 minuti di lettura
0

Desidero utilizzare Google come provider dell'identità digitale federato in un pool di utenti Amazon Cognito.

Risoluzione

I pool di utenti di Amazon Cognito consentono l'accesso tramite una terza parte (federazione). Ciò include gestori dell'identità digitale come Google o Facebook. Per ulteriori informazioni, consulta Adding social identity providers to a user pool.

Creazione di un pool di utenti Amazon Cognito con un client dell’app e un nome di dominio

  1. Crea un pool di utenti.
    Nota: durante la creazione, l'attributo standard email è selezionato per impostazione predefinita. Per ulteriori informazioni, consulta User pool attributes.
  2. Crea un client dellapp nel tuo pool di utenti. Per ulteriori informazioni, consulta Add an app to turn on the hosted web UI.
  3. Aggiungi un nome di dominio per il tuo pool di utenti.

Crea un progetto Google API Console

Se hai già un progetto, crea un nuovo progetto:

  1. Accedi alla Google API Console con il tuo account Google. Per ulteriori informazioni, consulta Manage APIs in the API console sul sito Web di assistenza di Google.
  2. Nel dashboard (API e servizi), scegli CREA.
  3. In Nuovo progetto, inserisci il Nome progetto.
  4. In Posizione, scegli SFOGLIA, quindi seleziona una posizione.
  5. Scegli CREA.

Per ulteriori informazioni, consulta la documentazione Accedi con Google per il Web sul sito Web di Google Identity.

Configura la schermata per il consenso OAuth

  1. Nella Google API Console, nel riquadro di navigazione a sinistra, scegli Schermata per il consenso OAuth.
  2. Compila il modulo della schermata per il consenso. Come minimo, procedi come segue:
    In Nome applicazione, inserisci un nome.
    In Domini autorizzati, inserisci amazoncognito.com.
    Importante: devi inserire questo dominio o non potrai utilizzare il tuo dominio Amazon Cognito in un secondo momento durante la creazione di un ID client OAuth.
  3. Scegli Salva. Verrai reindirizzato alla pagina Credenziali.

Per ulteriori informazioni, consulta Completa la schermata per il consenso OAuth sul sito Web di Google Workspace.

Ottieni le credenziali del client OAuth 2.0

  1. Nella Google API Console, nella pagina Credenziali, scegli Crea credenziali. Quindi, scegli l'ID client OAuth.
  2. Nella pagina Crea ID client OAuth, in Tipo di applicazione, scegli Applicazione web.
  3. Effettua le seguenti operazioni:
    Inserisci un nome per il tuo ID client OAuth.
    In Origini JavaScript autorizzate, inserisci il tuo dominio Amazon Cognito. Ad esempio: https://yourDomainPrefix.auth.region.amazoncognito.com.
    Nota: sostituisci yourDomainPrefix e region con i valori per il tuo pool di utenti. Trova questi valori nella console Amazon Cognito nella pagina del nome di dominio del tuo pool di utenti.
    In URL di reindirizzamento autorizzati, inserisci https://yourDomainPrefix.auth.region.amazoncognito.com/oauth2/idpresponse.
    Nota: sostituisci yourDomainPrefix e region con i valori per il tuo pool di utenti. Per ulteriori informazioni, vedi il passaggio precedente.
  4. Nella finestra di dialogo Client OAuth, trova l'ID client e il client secret, quindi annotali per dopo. Ti servono quando configuri Google nel tuo pool di utenti Amazon Cognito.

Per ulteriori informazioni, consulta Utilizzare OAuth 2.0 per accedere alle API di Google sul sito web di Google Identity.

Configura Google come gestore dell'identità digitale federato nel tuo pool di utenti

  1. Nella console Amazon Cognito, scegli Pool di utenti.
  2. Seleziona il pool di utenti che desideri utilizzare.
  3. Scegli la scheda Esperienza di accesso.
  4. In Accesso al provider di identità federate, scegli Aggiungi provider di identità.
  5. Seleziona Google. Quindi, in Configura la federazione di Google con questo pool di utenti:
    In ID client, incolla l'ID del client che hai annotato in un passaggio precedente.
    In Segreto client, incolla il segreto del client che hai annotato in un passaggio precedente.
    In Ambiti autorizzati, inserisci l'e-mail del profilo OpenID.
  6. In Mappa attributi tra Google e il tuo pool di utenti:
    In Attributo pool di utenti dell'attributo e-mail, mappa sull’attributo Google di e-mail.
    Scegli Aggiungi un altro attributo e mappa l'attributo del pool di utenti di username sull’attributo Google di username.
  7. Seleziona Aggiungi provider di identità.

Modifica le impostazioni del client dell’app del pool di utenti

Nota: nelle impostazioni del client dell’app, gli attributi del pool di utenti mappati devono essere scrivibili. Per ulteriori informazioni, consulta Specifying identity provider attribute mappings for your user pool.

  1. Nella console Amazon Cognito, scegli il tuo pool di utenti.
  2. Scegli la scheda Integrazione app.
  3. In Lista del client dell'app, seleziona Crea client dell'app.
  4. In Tipo di app, seleziona Client pubblico. Quindi, inserisci un nome per il client dell'app.
    In Flussi di autenticazione, seleziona ALLOW_USER_PASSWORD_AUTH e ALLOW_REFRESH_TOKEN_AUTH.
    Per URL di callback consentiti, inserisci l'URL a cui desideri che gli utenti vengano reindirizzati dopo l'accesso. Per il test, inserisci un URL valido, ad esempio https://www.example.com/.
    In URL di disconnessione, inserisci l'URL a cui desideri che gli utenti vengano reindirizzati dopo la disconnessione. Per il test, inserisci un URL valido, ad esempio https://www.example.com/.
    In Provider di identità, seleziona Pool di utenti Cognito e Google.
    Per il tipo di concessione OAuth 2.0, seleziona Concessione implicita.
    In Ambiti OpenID Connect, seleziona e-mail, openid e profile.
    Importante:
    il flusso OAuth di concessione implicita è solo a scopo di test. Per i sistemi di produzione, è consigliabile utilizzare la concessione del codice di autorizzazione.
  5. Scegli Crea client dell’app.

Per ulteriori informazioni, consulta App client settings terminology.

Crea l'URL dell'endpoint

Utilizzando i valori del pool di utenti, crea questo URL dell'endpoint di accesso per l'interfaccia utente Web ospitata di Amazon Cognito: https://yourDomainPrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=yourClientId&redirect_uri=redirectUrl

Nota: sostituisci yourDomainPrefix e region con i valori per il tuo pool di utenti. Trova questi valori nella console Amazon Cognito nella pagina del nome di dominio del tuo pool di utenti. Sostituisci yourClientId con l'ID del client dell'app Amazon Cognito e sostituisci redirectUrl con l'URL di callback del client dell’app. Trova questi valori nella console Amazon Cognito nella pagina Impostazioni del client di app del pool di utenti.

Per ulteriori informazioni, consulta Come faccio a configurare l'interfaccia utente Web ospitata per Amazon Cognito? ed Login endpoint.

Verifica l'URL dell'endpoint

  1. Inserisci l'URL dell'endpoint di accesso creato nel tuo browser Web.
  2. Nella pagina Web dell'endpoint di accesso, scegli Continua con Google.
    Nota: se vieni reindirizzato all'URL di callback del client dell'app Amazon Cognito, hai già effettuato l'accesso al tuo account Google nel tuo browser. I token del pool di utenti vengono visualizzati nell'URL nella barra degli indirizzi del browser Web.
  3. In Accedi con Google, scegli il tuo account Google e accedi.

Una volta completata l'autenticazione, verrai reindirizzato all'URL di callback del tuo client dell'app Amazon Cognito. I token Web JSON (JWT) emessi dal pool di utenti vengono visualizzati nell'URL nella barra degli indirizzi del browser Web.
Nota: in una web app reale, l'URL dell'endpoint di accesso viene generato da un SDK JavaScript. Questo analizza anche i token JWT nell'URL.

Informazioni correlate

Adding user pool sign-in through a third party

AWS UFFICIALE
AWS UFFICIALEAggiornata 9 mesi fa