Importazione di utenti in bacini d'utenza con un trigger Lambda di migrazione utenti - 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à.

Importazione di utenti in bacini d'utenza con un trigger Lambda di migrazione utenti

Questo approccio ti consente di eseguire senza problemi la migrazione degli utenti dalla directory degli utenti esistente ai bacini d'utenza, quando un utente accede per la prima volta con la tua app o richiede la reimpostazione della password. Aggiungi una funzione Trigger Lambda di migrazione utenti al bacino d'utenza per ricevere i metadati sugli utenti che tentano di accedere e ottenere le informazioni del profilo utente da un'origine di identità esterna. Per i dettagli e un codice di esempio su questo trigger Lambda, inclusi i parametri di richiesta e risposta, consulta Parametri del trigger Lambda di migrazione utenti.

Prima di avviare la migrazione degli utenti, crea una funzione Lambda di migrazione degli utenti nel tuo Account AWS e imposta la funzione Lambda come trigger di migrazione degli utenti nel bacino d'utenza. Aggiungi una policy di autorizzazione alla funzione Lambda che consenta solo al principale dell'account del servizio Amazon Cognito cognito-idp.amazonaws.com di richiamare la funzione Lambda e solo nel contesto del proprio bacino d'utenza. Per ulteriori informazioni, consulta Utilizzo delle policy basate su risorse per AWS Lambda (policy della funzione Lambda).

Processo di accesso

  1. L'utente apre l'app e accede con i pool di utenti di Amazon Cognito API o tramite l'interfaccia utente ospitata da Amazon Cognito. Per ulteriori informazioni su come facilitare l'accesso con Amazon APIs Cognito, consulta. Integrazione dell'autenticazione e dell'autorizzazione di Amazon Cognito con app web e mobili

  2. L'app invia il nome utente e la password ad Amazon Cognito. Se la tua app ha un'interfaccia utente di accesso personalizzata che hai creato con un AWS SDK, l'app deve utilizzare InitiateAutho AdminInitiateAuthcon il USER_PASSWORD_AUTH flusso or. ADMIN_USER_PASSWORD_AUTH Quando l'app utilizza uno di questi flussi, SDK invia la password al server.

    Nota

    Prima di aggiungere un trigger di migrazione degli utenti, attiva il flusso USER_PASSWORD_AUTH o ADMIN_USER_PASSWORD_AUTH nelle impostazioni del client di app. Devi utilizzare questi flussi al posto del flusso USER_SRP_AUTH di default. Amazon Cognito deve inviare una password alla funzione Lambda in modo che possa verificare l'autenticazione dell'utente nell'altra directory. SRPAn oscura la password dell'utente dalla funzione Lambda.

  3. Amazon Cognito verifica se il nome utente inviato corrisponde a un nome utente o un alias nel bacino d'utenza. Puoi impostare l'indirizzo e-mail, il numero di telefono o il nome utente preferito dell'utente come alias nel bacino d'utenza. Se l'utente non esiste, Amazon Cognito invia parametri, inclusi nome utente e password, alla funzione Trigger Lambda di migrazione utenti.

  4. La funzione Trigger Lambda di migrazione utenti controlla o autentica l'utente nella directory o nel database degli utenti esistente. La funzione restituisce gli attributi utente archiviati da Amazon Cognito nel profilo dell'utente nel bacino d'utenza. Il parametro username viene restituito solo se il nome utente inviato corrisponde a un attributo alias. Se desideri che gli utenti continuino a usare le loro password esistenti, la funzione imposta l'attributo finalUserStatus su CONFIRMED nella risposta Lambda. L'app deve restituire tutti i parametri "response" mostrati in Parametri del trigger Lambda di migrazione utenti.

    Importante

    Non registrare l'intero oggetto evento di richiesta nel codice Lambda di migrazione degli utenti in quanto questo oggetto evento di richiesta include la password dell'utente. Se non pulisci i log, le password vengono visualizzate in Logs. CloudWatch

  5. Amazon Cognito crea il profilo utente nel bacino d'utenza e restituisce i token per il client dell'app.

  6. L'app esegue l'acquisizione del token, accetta l'autenticazione dell'utente e procede al contenuto richiesto.

Dopo aver eseguito la migrazione degli utenti, utilizza USER_SRP_AUTH per l'accesso. Il protocollo Secure Remote Password (SRP) non invia la password attraverso la rete e offre vantaggi in termini di sicurezza rispetto al USER_PASSWORD_AUTH flusso utilizzato durante la migrazione.

In caso di errori durante la migrazione, inclusi problemi relativi al dispositivo client o alla rete, l'app riceve risposte di errore dai pool di utenti di Amazon Cognito. API In questo caso, Amazon Cognito potrebbe non creare l'account utente nel bacino d'utenza. L'utente deve quindi tentare di eseguire nuovamente l'accesso. Se l'errore dell'accesso si ripete, tenta di reimpostare la password dell'utente con il flusso della password dimenticata dell'app.

Il flusso della password dimenticata richiama anche la funzione Trigger Lambda di migrazione utenti con un'origine eventi UserMigration_ForgotPassword. Poiché l'utente non invia una password quando richiede la reimpostazione della password, Amazon Cognito non include una password nell'evento che invia alla funzione Lambda. La funzione può solo cercare l'utente nella directory degli utenti esistente e restituire gli attributi da aggiungere al profilo utente nel bacino d'utenza. Dopo che la funzione ha completato la chiamata e restituito la risposta ad Amazon Cognito, il pool di utenti invia un codice di reimpostazione della password tramite e-mail o. SMS Nella tua app, richiedi all'utente il codice di conferma e una nuova password, quindi invia tali informazioni ad Amazon Cognito con una richiesta. ConfirmForgotPasswordAPI Puoi anche utilizzare le pagine incorporate per il flusso della password dimenticata nell'interfaccia utente ospitata di Amazon Cognito.