Попытка вызвать токен Cognito из скрипта почтальона.
Работая с Почтальоном, я пытаюсь вызвать jwtToken из Cognito, используя узел aws-sdk, но получаю следующую ошибку:
При оценке сценария предварительного запроса произошла ошибка: ошибка: не удается найти модуль 'aws-sdk'
Это мой сценарий:
const AWS = require('aws-sdk');
var authenticationData = {
Username: 'username',
Password: 'password',
};
var authenticationDetails = new
AmazonCognitoIdentity.AuthenticationDetails(authenticationData);
var poolData = {
UserPoolId: 'us-east-1_xxxxxx',
ClientId: 'xxxxx'
};
var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
var userData = {
Username: 'username',
Pool: userPool
};
var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function(result) {
var accessToken = result.getAccessToken().getJwtToken();
var idToken = result.idToken.jwtToken;
},
});
pm.globals.set("token", idToken);
Пока что единственные команды, которые я выполнял: brew install node и npm install aws-sdk
Я уверен, что мне не хватает какой-то конфигурации для вызова модуля, любая помощь подойдет! Thnx!
1 ответ
Похоже, что Postman Sandbox не может получить внешние зависимости скрипта.
Вы можете использовать eval()
Функция Javascript для импорта дополнительного кода Javascript путем сохранения кода в глобальной переменной почтальона или переменной среды.
Пример: eval(postman.getGlobalVariable('aws-sdk-code'))
См. СОВЕТ № 5: http://blog.getpostman.com/2017/07/28/api-testing-tips-from-a-postman-professional/
Кроме того, вы можете столкнуться с более поздней проблемой, когда код выполняется так, как кажется, вы запрашиваете AmazonCognitoIdentity
класс в amazon-cognito-identity-js
пакет.