

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

# Configurazione di un provider OIDC come pool di identità IdP
<a name="open-id"></a>

[OpenID Connect](http://openid.net/connect/) è uno standard aperto di autenticazione supportato da una serie di provider di accesso. Con Amazon Cognito, puoi collegare le identità ai provider OpenID Connect tramite i quali configuri. [AWS Identity and Access Management](https://aws.amazon.com/iam/)

**Aggiunta di un provider OpenID Connect**

Per informazioni su come creare un provider OpenID Connect, consultare [Creazione di provider di identità OpenID Connect (OIDC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-oidc.html) nella *Guida per l'utente di AWS Identity and Access Management *.

**Associazione di un fornitore ad Amazon Cognito**

**Per aggiungere un gestore dell'identità digitale OIDC**

1. Scegli **Pool di identità** dalla [console di Amazon Cognito](https://console.aws.amazon.com/cognito/home). Seleziona un pool di identità.

1. Seleziona la scheda **Accesso utente**.

1. Seleziona **Aggiungi provider di identità**.

1. Scegli **OpenID Connect (OIDC)**.

1. Scegli un **provider di identità OIDC** dall'IAM del tuo. IdPs Account AWS Se desideri aggiungere un nuovo provider SAML, scegli **Crea nuovo provider** per accedere alla console IAM.

1. Per impostare il ruolo richiesto da Amazon Cognito quando emette credenziali per gli utenti che hanno eseguito l'autenticazione con questo provider, configura **Impostazioni ruolo**.

   1. Puoi assegnare agli utenti di tale IdP il **ruolo predefinito** impostato quando hai configurato il **ruolo autenticato** oppure selezionare l'opzione **Scegli ruolo con regole**.

     1. Se scegli l'opzione **Scegli ruolo con regole**, inserisci la **Richiesta** dall'autenticazione dell'utente, l'**Operatore** con cui desideri confrontare la richiesta, il **Valore** che determina una corrispondenza a questa scelta di ruolo e il **Ruolo** che desideri assegnare quando l'**Assegnazione del ruolo** corrisponde. Seleziona **Aggiungi un altro** per creare una regola aggiuntiva basata su una condizione diversa.

     1. Scegli una **Risoluzione del ruolo**. Quando le richieste dell'utente non corrispondono alle regole, puoi negare le credenziali o emettere credenziali per il **Ruolo autenticato**.

1. Per modificare i tag principali assegnati da Amazon Cognito quando emette credenziali per gli utenti che hanno eseguito l'autenticazione con questo provider, configura **Attributi per il controllo degli accessi**.

   1. Per non applicare alcun tag principale, scegli **Inattivo**.

   1. Per applicare i tag principali in base alle richieste `sub` e `aud`, scegli **Utilizza mappature predefinite**.

   1. Per creare un tuo schema personalizzato di attributi dei tag principali, scegli **Utilizza mappature personalizzate**. Quindi, inserisci una **Chiave tag** che deve essere originata da ciascuna **Richiesta** che desideri rappresentare in un tag.

1. Seleziona **Salva modifiche**.

È possibile associare più provider OpenID Connect a un singolo pool di identità.

**Utilizzo di OpenID Connect**

Consulta la documentazione del tuo provider per sapere come accedere e ricevere un token ID.

Dopo aver ottenuto un token, aggiungilo alla mappa degli accessi. Usa l'URI del tuo provider come chiave.

**Convalida di un token di OpenID Connect**

Alla prima integrazione con Amazon Cognito, potresti ricevere un'eccezione `InvalidToken`. È importante comprendere in che modo Amazon Cognito convalida i token OpenID Connect (OIDC).

**Nota**  
Come specificato qui ([https://tools.ietf.org/html/rfc7523](https://tools.ietf.org/html/rfc7523)), Amazon Cognito offre un periodo di prova di 5 minuti per gestire qualsiasi inclinazione del clock tra i sistemi.

1. Il parametro `iss` deve corrispondere alla chiave usata nella mappa degli accessi (ad esempio login.provider.com).

1. La firma deve essere valida. La firma deve essere verificabile mediante una chiave pubblica RSA.
**Nota**  
I pool di identità mantengono una cache della chiave di firma OIDC IdP per un breve periodo. Se il provider modifica la chiave di firma, Amazon Cognito potrebbe restituire un `NoKeyFound` errore fino all'aggiornamento della cache. Se riscontri questo errore, attendi una decina di minuti affinché il pool di identità aggiorni la chiave di firma.

1. L'impronta digitale della chiave pubblica del certificato corrisponde all'impronta digitale impostata in IAM al momento della creazione del provider OIDC.

1. Se il `azp` parametro è presente, confronta questo valore con il client elencato IDs nel tuo provider OIDC.

1. Se il `azp` parametro non è presente, confrontalo con il `aud` client elencato IDs nel tuo provider OIDC.

Il sito Web [jwt.io](http://jwt.io/) è una risorsa preziosa per la decodifica dei token e la verifica di questi valori.

## Android
<a name="set-up-open-id-1.android"></a>

```
Map<String, String> logins = new HashMap<String, String>();
logins.put("login.provider.com", token);
credentialsProvider.setLogins(logins);
```

## iOS - Objective-C
<a name="set-up-open-id-1.ios-objc"></a>

```
credentialsProvider.logins = @{ "login.provider.com": token }
```

## JavaScript
<a name="set-up-open-id-1.javascript"></a>

```
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
 IdentityPoolId: 'IDENTITY_POOL_ID',
 Logins: {
    'login.provider.com': token
 }
});
```