

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menguji otorisasi Anda
<a name="custom-auth-testing"></a>

 Anda dapat menggunakan [TestInvokeAuthorizer](https://docs.aws.amazon.com/iot/latest/apireference/API_TestInvokeAuthorizer.html)API untuk menguji pemanggilan dan mengembalikan nilai otorisasi Anda. API ini memungkinkan Anda menentukan metadata protokol dan menguji validasi tanda tangan di otorisasi Anda.

Tab berikut menunjukkan cara menggunakan AWS CLI untuk menguji otorisasi Anda.

------
#### [ 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}}
```

------

Nilai `token-signature` parameter adalah token yang ditandatangani. Untuk mempelajari cara mendapatkan nilai ini, lihat[Menandatangani token](custom-auth.md#custom-auth-token-signature).

Jika otorisasi Anda mengambil nama pengguna dan kata sandi, Anda dapat meneruskan informasi ini dengan menggunakan `--mqtt-context` parameter. Tab berikut menunjukkan cara menggunakan `TestInvokeAuthorizer` API untuk mengirim objek JSON yang berisi nama pengguna, kata sandi, dan nama klien ke otorisasi kustom Anda.

------
#### [ 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}}"}'
```

------

Kata sandi harus dikodekan base64. Contoh berikut menunjukkan cara menyandikan kata sandi di lingkungan mirip Unix.

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