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à.
Trigger Lambda di federazione in entrata
Il trigger di federazione in entrata trasforma gli attributi utente federati durante il processo di autenticazione con provider di identità esterni. Quando gli utenti si autenticano tramite provider di identità configurati, questo trigger consente di modificare le risposte dei provider SAML e OIDC esterni intercettando e trasformando i dati nel processo di autenticazione, fornendo il controllo programmatico su come i pool di utenti di Amazon Cognito gestiscono gli utenti federati e i relativi attributi.
Usa questo trigger per aggiungere, sovrascrivere o sopprimere gli attributi prima di creare nuovi utenti o aggiornare i profili utente federati esistenti. Questo trigger riceve gli attributi non elaborati del provider di identità come input e restituisce gli attributi modificati che Amazon Cognito applica al profilo utente.
Argomenti
Panoramica del flusso
Quando un utente si autentica con un provider di identità esterno, Amazon Cognito richiama il trigger di federazione in entrata prima di creare o aggiornare il profilo utente. Il trigger riceve gli attributi non elaborati dal provider di identità e può trasformarli prima che Amazon Cognito li memorizzi. Questo flusso si verifica sia per i nuovi utenti federati che per gli utenti esistenti che accedono nuovamente tramite la federazione.
Parametri di attivazione Lambda della federazione in entrata
La richiesta passata da Amazon Cognito a questa funzione Lambda è una combinazione dei parametri seguenti e dei parametri comuni aggiunti da Amazon Cognito a tutte le richieste.
Parametri della richiesta di federazione in entrata
- Nome del provider
-
Il nome del provider di identità esterno.
- ProviderType
-
Il tipo di provider di identità esterno. Valori validi:
OIDC,SAML,Facebook,Google,SignInWithApple,LoginWithAmazon. - attributes
-
Gli attributi non elaborati ricevuti dal provider di identità prima dell'elaborazione. La struttura varia in base al tipo di provider.
- Attributes.tokenResponse
-
OAuth dati di risposta token dall'endpoint.
/tokenDisponibile solo per OIDC e fornitori di servizi sociali. Contieneaccess_token,id_token,,refresh_tokentoken_typeexpires_in, e.scope - Attributes.idToken
-
Token ID decodificato e convalidato dichiarato da JWT. Disponibile solo per OIDC e fornitori di servizi sociali. Contiene informazioni verificate sull'identità dell'utente, tra cui
sub(identificatore utente univoco)emailname,iss(emittente),aud(pubblico),exp(scadenza) eiat(ora di emissione). - Attributes.userInfo
-
Informazioni estese sul profilo utente dall'endpoint. UserInfo Disponibile solo per OIDC e fornitori di servizi sociali. Contiene attributi dettagliati del profilo come
given_name,,family_namepictureaddress, e altri campi specifici del provider. Può essere vuoto se l'IdP non supporta l' UserInfo endpoint o se la chiamata all'endpoint fallisce. - Attributi.samlResponse
-
Attributi di asserzione SAML. Disponibile solo per i provider SAML. Contiene gli attributi della risposta SAML.
Parametri di risposta della federazione in entrata
- userAttributesToMappa
-
Gli attributi utente da applicare al profilo utente.
Importante
È necessario includere TUTTI gli attributi utente che si desidera conservare nella risposta, inclusi gli attributi che non si desidera modificare. Tutti gli attributi non inclusi nella userAttributesToMap risposta verranno eliminati e non archiviati nel profilo utente. Questo vale sia per gli attributi modificati che per quelli non modificati.
Comportamento di risposta vuoto
Se si restituisce un oggetto vuoto {} peruserAttributesToMap, tutti gli attributi originali del provider di identità vengono mantenuti invariati. Funziona come un no-op, come se la funzione Lambda non fosse mai stata eseguita. Ciò è diverso dall'omettere gli attributi, che li elimina.
Attributi specifici del provider
La struttura di request.attributes varia in base a. providerType IDC e i fornitori di servizi sociali includono tokenResponseidToken, e userInfo oggetti. I provider SAML includono solo l'oggetto. samlResponse
Esempio di federazione in entrata: gestione dell'appartenenza a un gruppo
Questo esempio mostra come mappare i gruppi di provider di identità federati ai gruppi di pool di utenti di Amazon Cognito. Questa funzione estrae l'appartenenza al gruppo dalla risposta federata e aggiunge automaticamente gli utenti ai gruppi Amazon Cognito corrispondenti, eliminando la necessità di trigger post-autenticazione.
Amazon Cognito trasferisce informazioni sugli eventi alla funzione Lambda. La funzione quindi restituisce a Amazon Cognito lo stesso oggetto evento con eventuali modifiche nella risposta. Nella console Lambda puoi configurare un evento di test con i dati pertinenti al trigger Lambda. Di seguito è riportato un evento di test per questo esempio di codice:
Esempio di federazione in entrata: tronca gli attributi di grandi dimensioni
Questo esempio mostra come troncare i valori degli attributi che superano i limiti di archiviazione di Amazon Cognito. Questa funzione controlla ogni attributo del provider di identità. Se il valore di un attributo supera i 2048 caratteri, tronca il valore e aggiunge i puntini di sospensione per indicare il troncamento. Tutti gli altri attributi rimangono invariati.
Amazon Cognito trasferisce informazioni sugli eventi alla funzione Lambda. La funzione quindi restituisce a Amazon Cognito lo stesso oggetto evento con eventuali modifiche nella risposta. Nella console Lambda puoi configurare un evento di test con i dati pertinenti al trigger Lambda. Di seguito è riportato un evento di test per questo esempio di codice:
Esempio di federazione in entrata: registrazione degli eventi di federazione
Questo esempio mostra come registrare gli eventi di autenticazione federata per il monitoraggio e il debug. Questa funzione di esempio acquisisce informazioni dettagliate sugli utenti federati e sui relativi attributi, fornendo visibilità sul processo di autenticazione.
Amazon Cognito trasferisce informazioni sugli eventi alla funzione Lambda. La funzione quindi restituisce a Amazon Cognito lo stesso oggetto evento con eventuali modifiche nella risposta. Nella console Lambda puoi configurare un evento di test con i dati pertinenti al trigger Lambda. Di seguito è riportato un evento di test per questo esempio di codice:
Output previsto dei CloudWatch log: