Testar seus autorizadores
Você pode usar a API TestInvokeAuthorizer para testar a invocação e os valores de retorno do seu autorizador. Essa API permite que você especifique metadados de protocolo e teste a validação da assinatura em seu autorizador.
As guias a seguir mostram como usar a AWS CLI para testar seu autorizador.
- 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
O valor do parâmetro token-signature é o token assinado. Para saber como obter esse valor, consulte Assinatura do token.
Se seu autorizador usar um nome de usuário e uma senha, você poderá transmitir essas informações usando o parâmetro --mqtt-context. As guias a seguir mostram como usar a API TestInvokeAuthorizer para enviar um objeto JSON que contém nome de usuário, senha e nome de cliente para o autorizador personalizado.
- 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"}'
A senha deve ser codificada por base64. O exemplo a seguir mostra como codificar uma senha em um ambiente semelhante ao Unix.
echo -n PASSWORD | base64