Come posso ottenere i token emessi dall'OIDC o dal provider di identità sociale dopo aver integrato il provider di identità con Amazon Cognito?

6 minuti di lettura
0

Voglio ottenere i token di accesso e ID emessi dal mio gestore dell'identità digitale (IdP) integrati con i pool di utenti Amazon Cognito.

Breve descrizione

Nel flusso di autenticazione IdP di OpenID Connect (OIDC), Amazon Cognito scambia il codice di autorizzazione emesso dall'IdP con token IdP. Amazon Cognito prepara quindi il proprio set di token e li restituisce all'utente finale una volta completata la federazione. Tuttavia, questo processo non consente all'utente o all'applicazione di vedere i token secondari IdP effettivi. Alcuni casi d'uso potrebbero richiedere i token effettivamente emessi dall'IdP all'interno dell'applicazione per scopi di autorizzazione o risoluzione dei problemi. Per acquisire e archiviare i token di accesso e ID emessi da un IdP quando effettui la federazione nei pool di utenti di Amazon Cognito, segui i passaggi nella sezione Risoluzione.

Importante: i passaggi descritti in questo articolo presuppongono che tu abbia già integrato OIDC IdP o social IdP con i pool di utenti Amazon Cognito. Se non hai integrato un IdP nel tuo pool di utenti, segui i passaggi per aggiungere un accesso al pool di utenti tramite una terza parte.

Risoluzione

Creare un attributo personalizzato in un pool di utenti

Segui questi passaggi per creare un attributo personalizzato nel tuo pool di utenti:

1.    Apri la nuova console Amazon Cognito, quindi scegli la scheda Esperienza di registrazione nel tuo pool di utenti.

2.    Nella sezione Attributi personalizzati, seleziona il pulsante Aggiungi attributi personalizzati.

3.    Per creare un attributo personalizzato per un token di accesso, inserisci i seguenti valori e quindi salva le modifiche.

  • Nome: access_token
  • Tipo: stringa
  • Massimo: 2.048
  • Modificabile: seleziona questa casella di controllo

4.    Per creare un attributo personalizzato per un token ID, inserisci i seguenti valori e quindi salva le modifiche.

  • Nome: id_token
  • Tipo: stringa
  • Massimo: 2.048
  • Modificabile: seleziona questa casella di controllo

Configura la mappatura degli attributi tra Amazon Cognito e il tuo IdP

Segui questi passaggi per configurare la mappatura degli attributi sugli attributi IdP:

1.    Apri la nuova console Amazon Cognito, quindi scegli la scheda Esperienza di accesso nel tuo pool di utenti.

2.    Nella sezione di accesso al provider di identità federata, seleziona il tuo IdP dall'elenco.

3.    Scegli l'opzione Modifica vicino alla sezione delle informazioni sul provider di identità. Assicurati che i seguenti ambiti siano presenti nella sezione Ambiti autorizzati:

  • Ambiti di esempio di Facebook: public_profile, email
  • Ambiti di esempio di Google: profilo email openid
  • Ambiti di esempio di Accedi con Amazon: profilo postal_code
  • Ambiti di esempio di Accedi con Apple: nome email
  • Ambiti di esempio di tutti gli altri provider OIDC: profilo email openid

4.    Torna indietro di un passo alla pagina del provider di identità. Scegli Modifica vicino alla sezione Mappatura degli attributi.

5.    Nella colonna degli attributi del pool di utenti, seleziona l'attributo personalizzato che hai creato all'inizio.

6.    Dalla colonna dell'attributo OpenID Connect, seleziona access_token o id_token, a seconda del tipo di token da mappare. Quindi, salva le modifiche.

Esempi di risultati della configurazione della mappatura degli attributi:

Attributo del pool di utenti: custom:id_token
Attributo OpenID Connect: id_token

Attributo del pool di utenti: custom:access_token
Attributo OpenID Connect: access_token

Attiva le autorizzazioni di lettura e scrittura degli attributi nel tuo client dell'app Amazon Cognito

Quando un utente accede all'applicazione, Amazon Cognito aggiorna gli attributi mappati. Affinché Amazon Cognito aggiorni gli attributi del pool di utenti mappati, gli attributi mappati devono essere scrivibili nelle impostazioni del client dell'app dell'applicazione. Affinché Amazon Cognito possa aggiornare il token ID dell'utente, gli attributi devono essere leggibili nelle impostazioni del client dell'app dell'applicazione.

1.    Apri la nuova console Amazon Cognito, quindi scegli la scheda Integrazione delle app nel tuo pool di utenti.

2.    Seleziona il tuo client di app dall'elenco dei client dell'app.

3.    Nella sezione Autorizzazioni di lettura e scrittura degli attributi, scegli Modifica.

4.    Nella pagina Modifica le autorizzazioni di lettura e scrittura degli attributi, seleziona le caselle di controllo di lettura e scrittura per gli attributi personalizzati.

5.    Salva le modifiche.

Ripeti questi passaggi per ogni app client che utilizza l'attributo personalizzato.

Per ulteriori informazioni, consulta Attributi del pool di utenti e vai alla scheda Autorizzazioni e ambiti degli attributi.

Accedi utilizzando il provider OIDC di terze parti o l'IdP social

Quando esegui una nuova autenticazione IdP tramite l'interfaccia utente di Amazon Cognito Hosted, puoi vedere i token IdP negli attributi personalizzati. Scegli un utente appropriato per vedere i token IdP nei loro attributi. La decodifica del token ID fornisce anche gli attributi personalizzati che contengono i token IdP.

Esempio di sezione del payload del token ID rilasciato all'utente finale:

{
    "custom:access_token": "ya29.a0AeTM1ic9iv_FqpDQeIN......w1OPKdFEbR_Tea",
    "iss": "https://cognito-idp.example_region.amazonaws.com/example_user_pool_id",
    "custom:id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjhjMjdkYjRkMTN............saDMuZ29vZ2xldXNlcmNv"
}

Quando crei attributi personalizzati, tieni presente i seguenti punti:

  • La lunghezza massima per qualsiasi attributo personalizzato è di 2.048 caratteri. Quando un token IdP supera i 2.048 caratteri, viene visualizzato il seguente errore: "Gli attributi della stringa non possono avere una lunghezza superiore a 2048".
  • Non è possibile rimuovere o modificare un attributo personalizzato dopo la sua creazione.
  • Se l'attributo personalizzato non viene aggiornato negli accessi successivi, controlla la modificabilità dell'attributo personalizzato. Questo problema è previsto dopo aver deselezionato la casella di controllo Modificabile durante la creazione dell'attributo. Per ulteriori informazioni, consulta Attributi del pool di utenti e vai alla scheda Attributi personalizzati.

Nota: se non riesci ancora a ottenere un token IdP dopo aver seguito i passaggi precedenti, contatta il tuo IdP. Chiedi se l'IdP supporta il trasferimento dei token all'interno degli attributi ad Amazon Cognito. Dopo aver confermato, puoi contattare Supporto AWS per ulteriori problemi.


Informazioni correlate

Come faccio a configurare Auth0 come fornitore OIDC in un pool di utenti Amazon Cognito?

In che modo è possibile impostare LinkedIn come provider di identità social in un pool di utenti Amazon Cognito?

In che modo è possibile configurare Okta come provider di identità OpenID Connect in un pool di utenti Amazon Cognito?

In che modo è possibile impostare Google come provider di identità federata in un pool di utenti Amazon Cognito?

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa