J'utilise le groupe d'utilisateurs Cognito pour sécuriser ma passerelle API. Maintenant, j'aimerais envoyer des requêtes à mon API à l'aide de postman, mais je dois passer un jeton d'autorisation car l'API est sécurisée. Existe-t-il une commande AWS CLI ou une API REST pour générer des jetons d'authentification (en transmettant un nom d'utilisateur/un mot de passe)? J'ai cherché de la documentation mais je n'ai trouvé aucun exemple. Merci de votre aide.
Vous pouvez le faire en utilisant les commandes CLI suivantes:
Enregistrer un utilisateur
aws cognito-idp sign-up --region {your-aws-region} --client-id {your-client-id} --username [email protected] --password password123
Confirmer l'enregistrement de l'utilisateur
aws cognito-idp admin-confirm-sign-up --region {your-aws-region} --user-pool-id {your-user-pool-id} --username [email protected]
Authentifier (obtenir des jetons)
aws cognito-idp admin-initiate-auth --region {your-aws-region} --cli-input-json file://auth.json
Où auth.json est:
{
"UserPoolId": "{your-user-pool-id}",
"ClientId": "{your-client-id}",
"AuthFlow": "ADMIN_NO_SRP_AUTH",
"AuthParameters": {
"USERNAME": "[email protected]",
"PASSWORD": "password123"
}
}
Vous devriez obtenir une réponse comme celle-ci si tout est configuré correctement:
{
"AuthenticationResult": {
"ExpiresIn": 3600,
"IdToken": "{your-idtoken}",
"RefreshToken": "{your-refresh-token}",
"TokenType": "Bearer",
"AccessToken": "{your-access-token}"
},
"ChallengeParameters": {}
}
Une commande AWS CLI permet de générer des jetons d’authentification. Vous pouvez utiliser InitiateAuth CLI Command pour cela.
Remarque: Assurez-vous que la configuration de UserPool correspond aux jetons attendus.