

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 Login with Amazon come IdP di pool di identità
<a name="amazon"></a>

I pool di identità di Amazon Cognito funzionano con Login with Amazon per fornire l'autenticazione federata agli utenti delle app per dispositivi mobili e Web. Questa sezione spiega come registrare e impostare la tua applicazione con Login with Amazon come provider di identità.

Configura Login with Amazon per l'uso di Amazon Cognito nel [portale per sviluppatori](https://developer.amazon.com/login-with-amazon). Per ulteriori informazioni, consulta [Configurazione di Login with Amazon](https://developer.amazon.com/docs/login-with-amazon/faq.html#setting-up-login-with-amazon) nelle domande frequenti (FAQ) di Login with Amazon.

**Nota**  
Non puoi integrare in modo nativo Login with Amazon nella piattaforma Unity. Puoi utilizzare invece una visualizzazione Web e seguire il flusso di accesso del browser.

## Configurazione di Login with Amazon
<a name="login-with-amazon-setup"></a>

**Implementazione di Login with Amazon**

Nel [portale per gli sviluppatori Amazon](https://developer.amazon.com/apps-and-games/login-with-amazon), puoi configurare un'applicazione OAuth da integrare con il tuo pool di identità, trovare la documentazione Login with Amazon e scaricare gli SDK. Scegli **Developer console** (Console per sviluppatori), quindi **Login with Amazon** nel portale per gli sviluppatori. Puoi creare un profilo di sicurezza per la tua applicazione e quindi costruire meccanismi di autenticazione Login with Amazon nella tua app. Consulta [Ottenere le credenziali](getting-credentials.md) per ulteriori informazioni su come integrare l'autenticazione Login with Amazon con la tua app.

Amazon genera un **ID client** OAuth 2.0 per il tuo nuovo profilo di sicurezza. Puoi trovare l'**ID client** nella scheda **Web Settings** (Impostazioni Web) del profilo di sicurezza. Inserisci l'**ID del profilo di sicurezza** nel campo **ID app** dell'IdP Login with Amazon nel pool di identità.

**Nota**  
Inserisci l'**ID del profilo di sicurezza** nel campo **ID app** dell'IdP Login with Amazon nel pool di identità. Ciò differisce dai pool di utenti, che utilizzano l'**ID client.**

## Configurazione del provider esterno nella console di Amazon Cognito
<a name="login-with-amazon-configure-provider"></a>

**Per aggiungere un gestore dell'identità digitale Login with Amazon**

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 **Login with Amazon**.

1. Inserisci l'**ID app** del progetto OAuth creato su [Login with Amazon](https://developer.amazon.com/apps-and-games/login-with-amazon). Per ulteriori informazioni, consultare la [documentazione di Login with Amazon](https://developer.amazon.com/docs/login-with-amazon/documentation-overview.html).

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 hai scelto **Scegli ruolo con regole**, inserisci la **dichiarazione** di origine ricavata dall'autenticazione dell'utente, l'**operatore** con cui vuoi confrontare l'affermazione, il **valore** che determina una corrispondenza con 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**.

## Utilizzo di Login with Amazon: Android
<a name="set-up-amazon-1.android"></a>

Dopo aver autenticato Amazon Login, puoi passare il token al provider di credenziali Amazon Cognito nel metodo OnSuccess dell'interfaccia. TokenListener Il codice sarà il seguente:

```
@Override
public void onSuccess(Bundle response) {
    String token = response.getString(AuthzConstants.BUNDLE_KEY.TOKEN.val);
    Map<String, String> logins = new HashMap<String, String>();
    logins.put("www.amazon.com", token);
    credentialsProvider.setLogins(logins);
}
```

## Usa Login with Amazon: iOS - Objective-C
<a name="set-up-amazon-1.ios-objc"></a>

Dopo aver autenticato l'accesso ad Amazon, puoi passare il token al provider di credenziali Amazon Cognito con il metodo di DidSucceed richiesta di: AMZNAccessTokenDelegate

```
- (void)requestDidSucceed:(APIResult \*)apiResult {
    if (apiResult.api == kAPIAuthorizeUser) {
        [AIMobileLib getAccessTokenForScopes:[NSArray arrayWithObject:@"profile"] withOverrideParams:nil delegate:self];
    }
    else if (apiResult.api == kAPIGetAccessToken) {
        credentialsProvider.logins = @{ @(AWSCognitoLoginProviderKeyLoginWithAmazon): apiResult.result };
    }
}}
```

## Utilizzo di Login with Amazon: iOS - Swift
<a name="set-up-amazon-1.ios-swift"></a>

Una volta autenticato l'accesso ad Amazon, puoi passare il token al provider di credenziali di Amazon Cognito nel metodo `requestDidSucceed` di `AMZNAccessTokenDelegate`:

```
func requestDidSucceed(apiResult: APIResult!) {
    if apiResult.api == API.AuthorizeUser {
        AIMobileLib.getAccessTokenForScopes(["profile"], withOverrideParams: nil, delegate: self)
    } else if apiResult.api == API.GetAccessToken {
        credentialsProvider.logins = [AWSCognitoLoginProviderKey.LoginWithAmazon.rawValue: apiResult.result]
    }
}
```

## Usa Login with Amazon: JavaScript
<a name="set-up-amazon-1.javascript"></a>

Dopo che l'utente ha effettuato l'autenticazione con Login with Amazon e viene reindirizzato al tuo sito Web, il token di accesso di Login with Amazon viene fornito nella stringa di query. Passa tale token alla mappa degli accessi delle credenziali.

```
import { fromCognitoIdentityPool } from "@aws-sdk/credential-providers";
import { S3Client } from "@aws-sdk/client-s3";

const client = new S3Client({
   region: 'REGION',
   credentials: fromCognitoIdentityPool({
       identityPoolId: 'IDENTITY_POOL_ID',
       logins: {
           'www.amazon.com': 'Amazon Access Token'
       },
       clientConfig: { region: 'REGION' }
   })
});
```