Aggiungi un client di app con l'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à.

Aggiungi un client di app con l'interfaccia utente ospitata

Dopo aver creato un pool di utenti, puoi creare un client di app per un'applicazione che visualizza le pagine Web integrate dell'interfaccia utente ospitata. Nell'interfaccia utente ospitata, gli utenti possono:

  • Registrarsi per creare un profilo utente.

  • Accedi con un provider di identità di terze parti.

  • Accedi con o senza autenticazione a più fattori.

  • Reimposta la loro password.

Per creare un client di app per l'accesso all'interfaccia utente ospitata
  1. Passa alla console Amazon Cognito. Se richiesto, inserisci le tue AWS credenziali.

  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 i flussi di autenticazione che consentirai 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 finché 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 innanzitutto 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 abilitarle.

  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 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

Dalla pagina client dell'app, seleziona Visualizza interfaccia utente ospitata per aprire una nuova scheda del browser in una pagina di accesso precompilata con l'ID client dell'app, l'ambito, la concessione e i parametri 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 utilizzando. AWS Lambda Per ulteriori informazioni, 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, quindi aggiorna il browser.