

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration de Login with Amazon en tant qu'IdP de pool d'identités
<a name="amazon"></a>

Les pools d'identités Amazon Cognito fonctionnent avec Login with Amazon pour fournir une authentification fédérée aux utilisateurs de vos applications mobiles et Web. Cette section explique comment enregistrer et configurer votre application avec Login with Amazon comme fournisseur d'identité.

Configurez Login with Amazon pour utiliser Amazon Cognito dans le [portail des développeurs](https://developer.amazon.com/login-with-amazon). Pour plus d'informations, consultez [Configuration de Login with Amazon](https://developer.amazon.com/docs/login-with-amazon/faq.html#setting-up-login-with-amazon) dans les questions fréquentes sur Login with Amazon.

**Note**  
Pour intégrer Login with Amazon dans une application Xamarin, suivez les instructions fournies dans la page [Bien démarrer avec Xamarin](https://developer.xamarin.com/guides/cross-platform/getting_started/).

**Note**  
Vous ne pouvez pas intégrer Login with Amazon en mode natif sur la plateforme Unity. Au lieu de cela, utilisez une vue web et suivez le processus de connexion dans le navigateur.

## Configuration de Login with Amazon
<a name="login-with-amazon-setup"></a>

**Implémentation de Login with Amazon**

Sur le [portail des développeurs Amazon](https://developer.amazon.com/apps-and-games/login-with-amazon), vous pouvez configurer une OAuth application à intégrer à votre pool d'identités, trouver la documentation Login with Amazon et la télécharger SDKs. Choisissez **Developer console** (Console pour développeurs), puis **Login with Amazon** dans le portail des développeurs. Vous pouvez créer un profil de sécurité pour votre application, puis générer des mécanismes d'authentification Login with Amazon dans votre application. Consultez [Obtention des informations d'identification](getting-credentials.md) pour plus d'informations sur la façon d'intégrer l'authentification Login with Amazon avec votre application.

Amazon émet un **identifiant client OAuth ** 2.0 pour votre nouveau profil de sécurité. Vous pouvez trouver cet **ID client** dans l'onglet **Web Settings** (Paramètres web) du profil de sécurité. Saisissez l'**ID du profil de sécurité** dans le champ **ID d'application** du fournisseur d'identité Login with Amazon de votre réserve d'identités.

**Note**  
Saisissez l'**ID du profil de sécurité** dans le champ **ID d'application** du fournisseur d'identité Login with Amazon de votre réserve d'identités. De leur côté, les groupes d'utilisateurs utilisent l'**ID client**.

## Configurer le fournisseur externe dans la console Amazon Cognito
<a name="login-with-amazon-configure-provider"></a>

**Pour ajouter un fournisseur d'identité (IdP) Login with Amazon**

1. Choisissez **Groupes d'identités** dans la [console Amazon Cognito](https://console.aws.amazon.com/cognito/home). Sélectionnez une réserve d'identités.

1. Choisissez l'onglet **Accès utilisateur**.

1. Sélectionnez **Ajouter un fournisseur d'identité**.

1. Choisissez **Login with Amazon**.

1. Entrez l'**ID d'application** du OAuth projet que vous avez créé sur [Login with Amazon](https://developer.amazon.com/apps-and-games/login-with-amazon). Pour plus d'informations, consultez [Login with Amazon Documentation](https://developer.amazon.com/docs/login-with-amazon/documentation-overview.html) (langue française non garantie).

1. Pour définir le rôle demandé par Amazon Cognito lorsqu'il délivre des informations d'identification aux utilisateurs qui se sont authentifiés auprès de ce fournisseur, configurez **Paramètres de rôle**.

   1. Vous pouvez attribuer aux utilisateurs de ce fournisseur d'identité le **rôle par défaut** que vous avez configuré lorsque vous avez configuré votre **rôle authentifié**, ou vous pouvez sélectionner **Choisir un rôle avec des règles**.

     1. Si vous avez choisi **Choisir un rôle avec des règles**, saisissez la **demande** source issue de l'authentification de votre utilisateur, l'**opérateur** avec lequel vous souhaitez comparer ce champ standard, la **valeur** qui entraînera une correspondance avec ce choix de rôle et le **rôle** que vous souhaitez attribuer si l'**attribution de rôle** correspond. Sélectionnez **Ajouter un autre** pour créer une règle supplémentaire basée sur une condition différente.

     1. Choisissez une **résolution de rôle**. Lorsque les champs standard de votre utilisateur ne correspondent pas à vos règles, vous pouvez refuser les informations d'identification ou émettre des informations d'identification pour votre **rôle authentifié**.

1. Pour modifier les balises de principal qu'Amazon Cognito attribue lorsqu'il délivre des informations d'identification aux utilisateurs qui se sont authentifiés auprès de ce fournisseur, configurez **Attributs de contrôle d'accès**.

   1. Pour n'appliquer aucune balise de principal, choisissez **Inactif**.

   1. Pour appliquer les balises de principal en fonction des champs standard `sub` et `aud`, choisissez **Utiliser les mappages par défaut**.

   1. Pour créer votre propre schéma personnalisé d'attributs pour les balises de principal, choisissez **Utiliser des mappages personnalisés**. Saisissez ensuite une **clé de balise** que vous souhaitez obtenir à partir de chaque **demande** que vous souhaitez représenter dans une balise.

1. Cliquez sur **Enregistrer les modifications**.

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

Après avoir authentifié la connexion Amazon, vous pouvez transmettre le jeton au fournisseur d'informations d'identification Amazon Cognito dans la méthode onSuccess de l'interface. TokenListener Ce code se présente sous la forme suivante :

```
@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);
}
```

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

Après avoir authentifié la connexion Amazon, vous pouvez transmettre le jeton au fournisseur d'informations d'identification Amazon Cognito de requestDidSucceed la manière suivante : AMZNAccess TokenDelegate

```
- (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 };
    }
}}
```

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

Après avoir authentifié la connexion Amazon, vous pouvez transmettre le jeton au fournisseur d'informations d'identification Amazon Cognito dans la méthode `requestDidSucceed` de `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]
    }
}
```

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

Une fois que l'utilisateur s'authentifie avec Login with Amazon et qu'il est redirigé vers votre site web, le jeton d'accès Login with Amazon est fourni dans la chaîne de requête. Ajoutez ce jeton à la carte de connexions des informations d'identification.

```
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
   IdentityPoolId: 'IDENTITY_POOL_ID',
   Logins: {
       'www.amazon.com': 'Amazon Access Token'
   }
});
```