Aggiunta di un client dell'app e configurazione dell'interfaccia utente ospitata - 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 client dell'app e configurazione dell'interfaccia utente ospitata

Dopo aver creato un bacino d'utenza, è possibile creare un'app in modo che gli utenti possano usare le pagine Web integrate per la registrazione e l'accesso.

Per creare un'app nel bacino d'utenza
  1. Passa alla console Amazon Cognito. Se richiesto, inserisci le tue credenziali AWS.

  2. Scegli User Pools (Pool di utenti).

  3. Scegli un bacino d'utenza esistente dall'elenco o creane uno nuovo. Se crei un nuovo bacino d'utenza, ti verrà richiesto di configurare un client app e configurare l'interfaccia utente ospitata durante la procedura guidata.

  4. Passare alla scheda App Integration (Integrazione App) del tuo bacino d'utenza.

  5. Accanto a Dominio, scegli Operazioni e quindi Crea dominio personalizzato o Crea dominio Cognito. Se hai già configurato un dominio del pool di utenti, scegli Elimina dominio Amazon Cognito o Elimina dominio personalizzato prima di creare il nuovo dominio personalizzato.

  6. Inserisci un prefisso dominio disponibile da utilizzare con un Dominio Amazon Cognito. Per informazioni sulla configurazione di un dominio personalizzato, consulta la sezione Utilizzo del proprio dominio per l'interfaccia utente ospitata.

  7. Scegli Create (Crea).

  8. Torna alla scheda integrazione app per lo stesso bacino d'utenza e individua l'opzione client dell'app. Scegli Create app client (crea client dell'app).

  9. Scegli un tipo di applicazione. Verranno fornite alcune impostazioni consigliate in base alla tua selezione. Un'app che utilizza l'interfaccia utente ospitata è un client pubblico.

  10. Insrerisci un nome del client dell'App.

  11. Per questo esercizio, scegli l'opzione non generare il segreto client. Il segreto client viene utilizzato dalle app riservate che autenticano gli utenti da un'applicazione centralizzata. In questo esercizio, presenterai una pagina di accesso all'interfaccia utente ospitata agli utenti e non richiederà un segreto client.

  12. Scegli il flusso di autenticazione cui darai l'autorizzazione con la tua app. Assicurati che USER_SRP_AUTH sia stato selezionato.

  13. Personalizza la scadenza token, la configurazione avanzata della sicurezza e le autorizzazioni di lettura e scrittura degli attributi a seconda delle esigenze. Per ulteriori informazioni, consulta la sezione configurazione delle impostazioni del client dell'app.

  14. Aggiungi un URL di callback per il client dell'app. Qui verrai indirizzato dopo l'autenticazione dell'interfaccia utente ospitata. Non è necessario aggiungere un URL di disconnessione consentito fino a quando non sarai in grado di implementare la disconnessione nella tua app.

    Per un'app iOS o Android, puoi utilizzare un URL di callback del tipo myapp://.

  15. Seleziona provider di identità per il client dell'app. Come minimo, abilita il pool di utenti di Amazon Cognito come un provider.

    Nota

    Per accedere con provider di identità esterni (IdPs) come Facebook, Amazon, Google e Apple, nonché tramite OpenID Connect (OIDC) o SAML IdPs, configurali prima come mostrato in Aggiungere l'accesso al pool di utenti tramite una terza parte, quindi torna alla pagina delle impostazioni del client dell'app per abilitarli.

  16. Scegli i Tipi di concessione OAuth 2.0. Seleziona Authorization code grant (Concessione del codice di autorizzazione) per restituire un codice di autorizzazione che viene quindi scambiato per i token dei bacini d'utenza. Poiché i token non vengono mai esposti direttamente a un utente finale, vi sono meno probabilità che vengano compromessi. Tuttavia, per un'applicazione personalizzata è obbligatorio nel back-end scambiare il codice di autorizzazione per i token dei bacini d'utenza. Per motivi di sicurezza, ti consigliamo di utilizzare il flusso di concessione del codice di autorizzazione insieme al Proof Key for Code Exchange (PKCE) per le app mobili.

    Seleziona Concessione implicita per fare in modo che Amazon Cognito restituisca i token Web JSON (JWT) del bacino d'utenza. È possibile usare questo flusso quando non è disponibile un back-end per scambiare un codice di autorizzazione per i token. È inoltre utile per il debug dei token.

    Nota

    È possibile abilitare sia Authorization code grant (Concessione del codice di autorizzazione) sia Implicit code grant (Concessione implicita del codice) e usare entrambe in base alle esigenze.

    Seleziona Client credentials (Credenziali del client) solo se è necessario che l'app richieda i token di accesso a proprio nome e non a nome di un utente.

  17. A meno che non intendi escluderne uno in particolare, seleziona tutti gli ambiti OpenID Connect.

  18. Seleziona tutti gli ambiti personalizzati che hai configurato. Gli ambiti personalizzati sono in genere utilizzati con client riservati.

  19. Scegli Create (Crea).

Per visualizzare la pagina di accesso

Nella pagina Client dell'app, seleziona Visualizza l'interfaccia utente ospitata per aprire una nuova scheda del browser contenente una pagina di accesso precompilata con i parametri relativi a ID client dell'app, ambito, concessione e URL di callback.

È possibile visualizzare la pagina Web di accesso con l'interfaccia utente ospitata tramite il seguente URL. Prendi nota di response_type. In questo caso, response_type=code per la concessione del codice di autenticazione.

https://your_domain/login?response_type=code&client_id=your_app_client_id&redirect_uri=your_callback_url

È possibile visualizzare la pagina Web di accesso con l'interfaccia utente ospitata tramite il seguente URL per la concessione implicita del codice dove response_type=token. Dopo aver eseguito correttamente l'accesso, Amazon Cognito restituisce i token del bacino d'utenza alla barra degli indirizzi del browser Web.

https://your_domain/login?response_type=token&client_id=your_app_client_id&redirect_uri=your_callback_url

I token di identità Web JSON sono disponibili subito dopo il parametro #idtoken= nella risposta.

L'URL seguente è un esempio di risposta da una richiesta di concessione implicita. La stringa deli token di identità sarà molto più lunga.

https://www.example.com/#id_token=123456789tokens123456789&expires_in=3600&token_type=Bearer

I token dei bacini d'utenza di Amazon Cognito vengono firmati utilizzando un algoritmo RS256. Puoi decodificare e verificare i token del pool di utenti utilizzandoAWS Lambda, consulta Decodificare e verificare i token Amazon Cognito JWT sul sito Web. AWS GitHub

Il dominio è visualizzato nella pagina Domain name (Nome di dominio). L'ID del client app e l'URL di callback sono visualizzati nella pagina General settings (Impostazioni generali). Se le modifiche apportate nella console non vengono visualizzate immediatamente, attendi qualche minuto e quindi aggiorna il browser.

Approfondimenti

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