

**Avis de fin de support** : le 20 février 2026, le support du service Amazon Chime AWS prendra fin. Après le 20 février 2026, vous ne pourrez plus accéder à la console Amazon Chime ni aux ressources de l'application Amazon Chime. Pour plus d'informations, consultez le billet de [blog](https://aws.amazon.com/blogs/messaging-and-targeting/update-on-support-for-amazon-chime/). **Remarque :** Cela n'a aucune incidence sur la disponibilité du [service Amazon Chime SDK](https://aws.amazon.com/chime/chime-sdk/).

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.

# Authentifier les demandes de chatbot
<a name="auth-bots"></a>

Vous pouvez authentifier les demandes envoyées à votre chatbot depuis un salon de discussion Amazon Chime. Pour ce faire, calculez une signature en fonction de la demande. Vérifiez ensuite que la signature calculée correspond à celle de l'en-tête de la demande. Amazon Chime utilise le SHA256 hachage HMAC pour générer la signature.

Si votre chatbot est configuré pour Amazon Chime à l'aide d'un point de terminaison HTTPS sortant, suivez les étapes d'authentification suivantes.

**Pour valider une demande signée d'Amazon Chime concernant un chatbot avec un point de terminaison HTTPS sortant configuré**

1. Obtenez l'en-tête **Chime-Signature** à partir de la demande HTTP.

1. Obtenez l'en-tête **Chime-Request-Timestamp** et le **corps** de la demande. Utilisez ensuite une barre verticale comme séparateur entre les deux éléments afin de former une chaîne.

1. Utilisez le **SecurityToken**from de la CreateBot réponse comme clé initiale de **HMAC\$1SHA\$1256** et hachez la chaîne que vous avez créée à l'étape 2.

1. Encodez l'octet haché avec l'encodeur Base64 en une chaîne de signature.

1. Comparez cette signature calculée à celle de l'en-tête **Chime Signature**.

L'exemple de code suivant montre comment générer une signature à l'aide de Java.

```
        private final String DELIMITER = "|";
        private final String HMAC_SHA_256 = "HmacSHA256";
   
        private String generateSignature(String securityToken, String requestTime, String requestBody) 
        {
            try {
                final Mac mac = Mac.getInstance(HMAC_SHA_256);
                SecretKeySpec key = new SecretKeySpec(securityToken.getBytes(UTF_8), HMAC_SHA_256);
                mac.init(key);
                String data = requestTime + DELIMITER + requestBody;
                byte[] rawHmac = mac.doFinal(data.getBytes(UTF_8));

                return Base64.getEncoder().encodeToString(rawHmac);
                } 
            catch (Exception e) {
                throw e;
                }
         }
```

Le point de terminaison HTTPS sortant doit répondre à la demande Amazon Chime dans les 2 `200 OK` secondes. Sinon, la demande échoue. Si le point de terminaison HTTPS sortant n'est pas disponible au bout de 2 secondes, probablement en raison d'un délai de connexion ou de lecture, ou si Amazon Chime reçoit un code de réponse 5xx, Amazon Chime réessaie la demande deux fois. La première nouvelle tentative est envoyée 200 millisecondes après l'échec de la demande initiale. La deuxième nouvelle tentative est envoyée 400 millisecondes après l'échec de la nouvelle tentative précédente. Si le point de terminaison HTTPS sortant est toujours indisponible après la deuxième nouvelle tentative, la demande échoue.

**Note**  
L'en-tête **Chime-Request-Timestamp** change chaque fois que la demande est renouvelée.

Si votre chatbot est configuré pour Amazon Chime à l'aide d'un ARN de fonction Lambda, suivez les étapes d'authentification suivantes.

**Pour valider une demande signée d'Amazon Chime pour un chatbot avec une fonction Lambda (ARN) configurée**

1. Obtenez le **Chime-Signature et le **Chime-Request-Timestamp**** à partir de la requête Lambda, au format JSON codé Base64. **ClientContext**

   ```
   {
   "Chime-Signature" : "1234567890",
   "Chime-Request-Timestamp" : "2019-04-04T21:30:43.181Z"
   }
   ```

1. Obtenez le **corps** de la demande à partir de la charge utile de la demande.

1. Utilisez le **SecurityToken**from de la `CreateBot` réponse comme clé initiale de **HMAC\$1SHA\$1256** et hachez la chaîne que vous avez créée.

1. Encodez l'octet haché avec l'encodeur Base64 en une chaîne de signature.

1. Comparez cette signature calculée à celle de l'en-tête **Chime Signature**. 

Si un `com.amazonaws.SdkClientException` se produit lors de l'appel Lambda, Amazon Chime réessaie la demande deux fois.