

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.

# Tester vos mécanismes d'autorisation
<a name="custom-auth-testing"></a>

 Vous pouvez utiliser l'[TestInvokeAuthorizer](https://docs.aws.amazon.com/iot/latest/apireference/API_TestInvokeAuthorizer.html)API pour tester les valeurs d'invocation et de retour de votre autorisateur. Cette API vous permet de spécifier les métadonnées du protocole et de tester la validation de signature dans votre autorisateur.

Les onglets suivants montrent comment utiliser le AWS CLI pour tester votre autorisateur.

------
#### [ Unix-like ]

```
aws iot test-invoke-authorizer --authorizer-name {{NAME_OF_AUTHORIZER}} \
--token {{TOKEN_VALUE}} --token-signature {{TOKEN_SIGNATURE}}
```

------
#### [ Windows CMD ]

```
aws iot test-invoke-authorizer --authorizer-name {{NAME_OF_AUTHORIZER}} ^
--token {{TOKEN_VALUE}} --token-signature {{TOKEN_SIGNATURE}}
```

------
#### [ Windows PowerShell ]

```
aws iot test-invoke-authorizer --authorizer-name {{NAME_OF_AUTHORIZER}} `
--token {{TOKEN_VALUE}} --token-signature {{TOKEN_SIGNATURE}}
```

------

La valeur du paramètre `token-signature` est le jeton signé. Pour savoir comment obtenir cette valeur, consultez [Signer le jeton](custom-auth.md#custom-auth-token-signature).

Si votre mécanisme d'autorisation prend un nom d'utilisateur et un mot de passe, vous pouvez transmettre ces informations en utilisant le paramètre `--mqtt-context`. Les onglets suivants montrent comment utiliser l'API `TestInvokeAuthorizer` pour envoyer un objet JSON contenant un nom d'utilisateur, un mot de passe et un nom de client à votre mécanisme d'autorisation personnalisé.

------
#### [ Unix-like ]

```
aws iot test-invoke-authorizer --authorizer-name {{NAME_OF_AUTHORIZER}}  \
--mqtt-context '{"username": "{{USER_NAME}}", "password": "dGVzdA==", "clientId":"{{CLIENT_NAME}}"}'
```

------
#### [ Windows CMD ]

```
aws iot test-invoke-authorizer --authorizer-name {{NAME_OF_AUTHORIZER}}  ^
--mqtt-context '{"username": "{{USER_NAME}}", "password": "dGVzdA==", "clientId":"{{CLIENT_NAME}}"}'
```

------
#### [ Windows PowerShell ]

```
aws iot test-invoke-authorizer --authorizer-name {{NAME_OF_AUTHORIZER}}  `
--mqtt-context '{"username": "{{USER_NAME}}", "password": "dGVzdA==", "clientId":"{{CLIENT_NAME}}"}'
```

------

Le mot de passe doit être codé en base64. L'exemple suivant montre comment encoder un mot de passe dans un Unix-like environnement.

```
echo -n {{PASSWORD}} | base64
```