Aggiunta di un accesso social a un pool di utenti (facoltativo) - 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à.

Aggiunta di un accesso social a un pool di utenti (facoltativo)

È possibile abilitare gli utenti della tua app ad accedere tramite un provider di identità (IdP) social come Facebook, Google, Amazon e Apple. Sia che effettuino l'accesso direttamente o attraverso terze parti, tutti gli utenti hanno un profilo nel bacino d'utenza. Salta questa fase se non desideri aggiungere l'accesso attraverso un provider di identità di accesso social.

Registrazione con un IdP social

Prima di creare un IdP social con Amazon Cognito, è necessario registrare l'applicazione con l'IdP social in modo da ricevere un ID client e un segreto client.

  1. Creazione di un account sviluppatore con Facebook.

  2. Accedi con le tue credenziali di Facebook.

  3. Nel menu My Apps (Le mie app), scegli Create New App (Crea nuova app).

    Se non disponi di un'app Facebook esistente, vedrai un'opzione diversa. Scegli Create App (Crea app).

  4. Nella pagina Crea un'app, scegli un caso d'uso per l'app, quindi scegli Avanti.

  5. Inserisci un nome per la app Facebook, quindi scegli Crea l'app.

  6. Nella barra di navigazione a sinistra, scegli Impostazioni app e quindi Base.

  7. Prendi nota di ID app e Segreto app. Li utilizzerai nella sezione successiva.

  8. Nella parte inferiore della pagina, scegli + Aggiungi piattaforma.

  9. Nella schermata Seleziona piattaforma, seleziona le tue piattaforme, quindi scegli Avanti.

  10. Scegli Save changes (Salva modifiche).

  11. Per i domini dell'app, inserisci il dominio del bacino d'utenza.

    https://your_user_pool_domain
  12. Scegli Save changes (Salva modifiche).

  13. Dalla barra di navigazione, scegli Prodotti, quindi scegli Configura da Facebook Login.

  14. Nel menu Facebook Login Configura, scegli Impostazioni.

    Inserisci il tuo URL di reindirizzamento nel campo Valid OAuth Redirect URIs (URI di reindirizzamento OAuth validi). L'URL di reindirizzamento è costituito dal dominio del pool di utenti con l'/oauth2/idpresponseendpoint.

    https://your_user_pool_domain/oauth2/idpresponse
  15. Scegli Save changes (Salva modifiche).

  1. Creazione di un account sviluppatore con Amazon.

  2. Accedi con le tue credenziali di Amazon.

  3. È necessario creare un profilo di sicurezza Amazon per ricevere l'ID client di Amazon e il segreto client.

    Scegli App e servizi dalla barra di navigazione nella parte superiore della pagina, quindi scegli Login with Amazon.

  4. Scegli Create a Security Profile (Crea un profilo di sicurezza).

  5. Digita un Security Profile Name (nome profilo sicurezza), una Security Profile Description (descrizione profilo sicurezza) e un Consent Privacy Notice URL (URL consenso informativa privacy).

  6. Scegli Save (Salva).

  7. Scegli Client ID (ID client) e Client Secret (Segreto client) per mostrare i dati relativi. Li utilizzerai nella sezione successiva.

  8. Passa il mouse sull'icona a forma di ingranaggio e scegli Web Settings (Impostazioni Web), quindi Scegli Edit (Modifica).

  9. Inserisci il dominio del bacino d'utenza nel campo Allowed Origins (origini consentite).

    https://<your-user-pool-domain>
  10. Digita il dominio del bacino d'utenza con l'endpoint /oauth2/idpresponse in Allowed Return URLs (URL restituiti consentiti).

    https://<your-user-pool-domain>/oauth2/idpresponse
  11. Scegli Save Salva.

Per ulteriori informazioni su OAuth 2.0 nella piattaforma Google Cloud, consulta la sezione relativa all'autenticazione e autorizzazione nella documentazione disponibile nella pagina Google Workspace for Developers.

  1. Creazione di un account sviluppatore con Google.

  2. Accedi alla console Piattaforma Google Cloud.

  3. Nella barra di navigazione in alto, scegli Select a project (Seleziona un progetto). Se hai già un progetto nella piattaforma Google, nel menu viene visualizzato il tuo progetto predefinito.

  4. Scegli Nuovo progetto.

  5. Immetti un nome per il progetto e scegli Crea.

  6. Nella barra di navigazione a sinistra, scegli API e servizi, quindi scegli la schermata di consenso Oauth.

  7. Inserisci le informazioni sull'app, un dominio dell'app, i domini autorizzati e le informazioni di contatto dello sviluppatore. I domini autorizzati devono includere amazoncognito.com e la radice del dominio personalizzato. Ad esempio: example.com. Seleziona Salva e continua.

  8. 1. In Ambiti, scegli Aggiungi o rimuovi ambiti, quindi scegli almeno i seguenti ambiti OAuth.

    1. .../auth/userinfo.email

    2. .../auth/userinfo.profile

    3. openid

  9. In Test users (Utenti di test), scegli Add users (Aggiungi utenti). Inserisci il tuo indirizzo e-mail e tutti gli altri utenti autorizzati al test, quindi scegli SALVA E CONTINUA.

  10. Espandi nuovamente la barra di navigazione a sinistra, scegli API e servizi, quindi scegli Credenziali.

  11. Scegli CREATE CREDENTIALS, quindi scegli ID client OAuth.

  12. Scegli un Application type (Tipo di applicazione) e assegna un Name (Nome) al client.

  13. In JavaScript Origini autorizzate, scegli AGGIUNGI URI. Immetti il dominio del pool di utenti.

    https://<your-user-pool-domain>
  14. In Authorized redirect URIs (URI di reindirizzamento autorizzati), scegli ADD URI (Aggiungi URI). Inserisci il percorso dell'endpoint /oauth2/idpresponse del dominio del pool di utenti.

    https://<your-user-pool-domain>/oauth2/idpresponse
  15. Seleziona CREATE.

  16. Memorizza in modo sicuro i valori visualizzati da Google in Il tuo ID client e Il tuo segreto del client. Fornisci questi valori ad Amazon Cognito quando aggiungi un gestore dell'identità digitale (IdP) Google.

Per ulteriori informazioni sulla configurazione della funzionalità di accesso con Apple, consulta la sezione relativa alla configurazione dell'ambiente per la funzionalità di accesso con Apple nella documentazione per gli sviluppatori Apple.

  1. Creazione di un account sviluppatore con Apple.

  2. Accedi con le tue credenziali Apple.

  3. Sulla barra di navigazione a sinistra, scegli Certificates, Identifiers & Profiles (Certificati, identificatori e profili).

  4. Nel riquadro di navigazione a sinistra, scegli Identifiers (Identificatori).

  5. Nella pagina Identifiers (Identificatori), scegli l'icona +.

  6. Nella pagina Register a New Identifier (Registra un nuovo identificatore), scegli App IDs (ID app), quindi scegli Continue (Continua).

  7. Nella pagina Seleziona un tipo, scegli App, quindi scegli Continua.

  8. Nella pagina Register an App ID (Registra un'ID app), procedi come indicato di seguito:

    1. In Description (Descrizione), inserisci una descrizione.

    2. In App ID Prefix (Prefisso ID app), inserisci un Bundle ID ID bundle. Prendi nota del valore alla voce Prefisso ID app. Ne avrai bisogno per configurare Apple come provider di identità in Fase 2: aggiunta di un IdP social al bacino d'utenza.

    3. In Funzionalità, scegli Accedi con Apple, quindi scegli Modifica.

    4. Nella pagina Sign in with Apple: App ID Configuration (Accedi con Apple: configurazione ID app) scegli di configurare l'app come app primaria o raggruppata con altri ID app, quindi scegli Save (Salva).

    5. Scegli Continua.

  9. Nella pagina Confirm your App ID (Conferma l'ID app), scegli Register (Registra).

  10. Nella pagina Identifiers (Identificatori), scegli l'icona +.

  11. Nella pagina Register a New Identifier (Registra un nuovo identificatore), seleziona Services IDs (ID servizi), quindi scegli Continue (Continua).

  12. Nella pagina Register a Services ID (Registra un ID servizi), procedi nel modo seguente:

    1. In Description (Descrizione), inserisci una descrizione.

    2. Alla voce Identifier (Identificatore), inserisci un identificatore. Prendi nota di questo ID dei servizi perché avrai bisogno di questo valore dopo aver scelto Apple come provider di identità inFase 2: aggiunta di un IdP social al bacino d'utenza.

    3. Scegli Continua, quindi scegli Registra.

  13. Scegli l'ID dei servizi che hai appena creato dalla pagina Identificatori.

    1. Scegli Sign In with Apple (Accedi con Apple), quindi scegli Configure (Configura).

    2. Nella pagina Web Authentication Configuration (Configurazione autenticazione Web), seleziona l'ID dell'app creato in precedenza come Primary App ID (ID app principale).

    3. Scegli l'icona + accanto a Website URLs (URL siti Web).

    4. In Domains and subdomains (Domini e sottodomini), inserisci il dominio del pool di utenti senza prefisso https://.

      <your-user-pool-domain>
    5. In Return URLs (URL restituiti), inserisci il percorso dell'endpoint /oauth2/idpresponse del dominio del pool di utenti.

      https://<your-user-pool-domain>/oauth2/idpresponse
    6. Scegli Avanti, quindi scegli Fine. Non è necessario verificare il dominio.

    7. Scegli Continua, quindi Salva.

  14. Nel riquadro di navigazione a sinistra, scegli Keys (Chiavi).

  15. Nella pagina Keys (Chiavi), scegli l'icona +.

  16. Nella pagina Register a New Key, (Registra una nuova chiave) procedi nel modo seguente:

    1. Alla voce Key Name (nome chiave), digita un nome della chiave.

    2. Scegli Accedi con Apple, quindi scegli Configura.

    3. Nella pagina Configure Key, seleziona l'ID dell'app che hai creato in precedenza come ID app principale. Selezionare Salva.

    4. Scegli Continue (Continua), quindi scegli Register (Registra).

  17. Nella pagina Scarica la tua chiave, scegli Scarica per scaricare la chiave privata, prendi nota dell'ID chiave mostrato, quindi scegli Fine. Avrai bisogno di questa chiave privata e del valore di Key ID (ID chiave) visualizzato in questa pagina dopo aver scelto Apple come provider di identità in Fase 2: aggiunta di un IdP social al bacino d'utenza.

Aggiunta di un IdP social al bacino d'utenza

In questa sezione viene configurato un IdP social nel bacino d'utenza utilizzando l'ID client e il segreto client della sezione precedente.

Per configurare un provider di identità social per un pool di utenti con il AWS Management Console
  1. Passa alla console Amazon Cognito. È possibile che ti vengano richieste le AWS credenziali.

  2. Scegli User Pools (Pool di utenti).

  3. Scegli un bacino d'utenza esistente dall'elenco o creane uno nuovo.

  4. Scegli la scheda Sign-in experience (Esperienza di accesso). Individua Federated sign-in (accesso federato) e seleziona Add an identity provider (aggiungi un provider di identità).

  5. Scegli un provider di identità social: Facebook, Google, Login with Amazon o Accedi con Apple.

  6. Scegli uno tra i seguenti passaggi, in base alla tua scelta del provider di identità social:

    • Google e Login with Amazon: inserisci l'ID client dell'app e il segreto del client dell'app generati nella sezione precedente.

    • Facebook: inserisci l'ID client dell'app e il segreto del client dell'app generati nella sezione precedente, quindi scegli una versione dell'API (ad esempio, la versione 2.12). Ti consigliamo di scegliere la versione più recente possibile: ogni API di Facebook ha un ciclo di vita e una data di obsolescenza. Gli ambiti e gli attributi di Facebook possono variare a seconda delle versioni dell'API. Ti consigliamo di testare l'accesso alla tua identità social con Facebook per assicurarti che la federazione funzioni come previsto.

    • Accedi con Apple: inserisci l'ID dei servizi, l'ID del team, l'ID della chiave e la chiave privata generati nella sezione precedente.

  7. Inserisci i nomi degli ambiti autorizzati che desideri utilizzare. Gli ambiti definiscono a quali attributi utente (ad esempio name e email) intendi accedere con l'app. Per Facebook, devono essere separati da virgole. Per Google e Login with Amazon, devono essere separati da spazi. Per Sign in with Apple, seleziona le caselle di controllo per gli ambiti cui desideri accedere.

    Provider di identità social Ambiti di esempio
    Facebook public_profile, email
    Google profile email openid
    Login with Amazon profile postal_code
    Accedi con Apple email name

    All'utente dell'app viene richiesto il consenso a fornire questi attributi all'app. Per ulteriori informazioni sugli ambiti dei provider di social, consulta la documentazione di Google, Facebook, Login with Amazon e Accedi con Apple.

    Nel caso di Accedi con Apple, di seguito sono riportati scenari utente in cui gli ambiti potrebbero non essere restituiti:

    • Un utente finale riscontra degli errori dopo aver lasciato la pagina di accesso di Apple (possono essere dovuti a errori interni di Amazon Cognito o a qualsiasi altro errore scritto dallo sviluppatore).

    • L'identificatore ID del servizio viene utilizzato tra pool di utenti e/o altri servizi di autenticazione.

    • Uno sviluppatore aggiunge altri ambiti dopo che l'utente ha effettuato l'accesso. Gli utenti recuperano nuove informazioni solo quando si autenticano e quando aggiornano i token.

    • Uno sviluppatore elimina l'utente e quindi l'utente accede nuovamente senza rimuovere l'app dal proprio profilo ID Apple.

  8. Mappa gli attributi dal provider di identità al bacino d'utenza. Per ulteriori informazioni, consulta Cose da sapere sulle mappature.

  9. Scegli Create (Crea) .

  10. Dalla scheda App client integration (integrazione client dell'app), scegli uno dei client dell'app nella lista e modifica le impostazioni dell'interfaccia utente ospitata. Aggiungi il nuovo provider di identità social al client dell'app alla voce provider di identità.

  11. Scegli Save changes (Salva modifiche).

Test della configurazione dell'IdP social

Puoi creare un URL di accesso utilizzando gli elementi delle due sezioni precedenti. Utilizzalo per testare la tua configurazione IdP social.

https://mydomain.us-east-1.amazoncognito.com/login?response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com

Per individuare il dominio, vai alla pagina della console Domain name (Nome dominio) del bacino d'utenza. Il valore di client_id è disponibile nella pagina App client settings Impostazioni client di applicazioni. Utilizza l'URL di callback per il parametro redirect_uri. Questo è l'URL della pagina a cui l'utente verrà reindirizzato dopo aver completato la procedura di autenticazione.

Nota

Amazon Cognito annulla le richieste di autenticazione che non vengono completate entro 5 minuti e reindirizza l'utente all'interfaccia utente ospitata. Viene visualizzato il messaggio di errore Something went wrong nella pagina.