Я пытаюсь получить токен аутентификации и сохранить его в переменной окружения с помощью сценариев предварительного запроса.Я нашел этот скрипт и настроил его для своих нужд:
https://gist.github.com/bcnzer/073f0fc0b959928b0ca2b173230c0669
Он отлично работает на моем локальном WAMPServer, но на главном сервере эта ошибка появляется в журнале:
{код: -101, сообщение: «Обязательное поле отсутствует», данные: «имя пользователя»}
Похоже, что json-часть запроса не отправляется.Но почему это работает на моем локальном?
Это код:
var auth_url = pm.variables.get("url") + "user/auth";
const TokenExpiresIn = 10000; // Seconds
var echoPostRequest = {
url: auth_url,
method: 'GET',
header: 'Content-Type:application/json',
body: {
mode: 'application/json',
raw: JSON.stringify(
{
username:"ali",
password:"1"
})
}
};
var getToken = true;
if (!pm.environment.get('TokenExpireTime') ||
!pm.environment.get('Token')) {
console.log('Token or expiry date are missing')
} else if (pm.environment.get('TokenExpireTime') <= (new Date()).getTime()) {
console.log('Token is expired')
} else {
getToken = false;
console.log('Token and expiry date are all good');
}
if (getToken === true) {
pm.sendRequest(echoPostRequest, function (err, res) {
console.log(err ? err : res.json());
console.log(echoPostRequest);
if (err === null) {
console.log('Saving the token and expiry date')
console.log(res.json())
var responseJson = res.json();
pm.environment.set('Token', responseJson.token)
var expiryDate = new Date();
expiryDate.setSeconds(expiryDate.getSeconds() + TokenExpiresIn);
pm.environment.set('TokenExpireTime', expiryDate.getTime());
}
});
}