Чтобы обновить существующий токен в Postman вместо создания нового, вам следует использовать механизм, называемый "Refresh Token". Вот шаги, которые помогут вам настроить Postman для обновления токена:
### 1. Получите Логин и Refresh Token:
Убедитесь, что ваш API предоставляет возможность получения refresh token. Обычно, при первой аутентификации (логине) API возвращает access token и refresh token.
### 2. Настройка в Postman:
#### Создание коллекции:
1. Создайте коллекцию в Postman, чтобы сгруппировать ваши запросы.
2. В этой коллекции создайте запрос для получения нового access token, используя refresh token.
#### Запрос на обновление токена:
1. Перейдите к вкладке `Authorization` вашего запроса (для обновления токена).
2. Выберите тип аутентификации, который подходит вашему API (например, "Bearer Token").
3. Убедитесь, что у вас есть правильный URL для обновления токена (обычно это эндпоинт `token` или аналогичный).
#### Использование Pre-request Script:
Добавьте в раздел `Pre-request Script` код, который будет извлекать refresh token и использовать его для запроса нового access token:
```javascript
// Получение refresh token из переменной окружения
const refreshToken = pm.environment.get("refreshToken");
pm.sendRequest({
url: 'https://api.example.com/token', // замените на ваш URL
method: 'POST',
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: {
mode: 'urlencoded',
urlencoded: [
{ key: 'grant_type', value: 'refresh_token' },
{ key: 'refresh_token', value: refreshToken }
]
}
}, function (err, res) {
if (err) {
console.error(err);
} else {
const jsonResponse = res.json();
// Сохраните новый access token и refresh token в переменные окружения
pm.environment.set("accessToken", jsonResponse.access_token);
pm.environment.set("refreshToken", jsonResponse.refresh_token); // если refresh token обновляется
}
});
```
### 3. Использование нового токена:
В других ваших запросах используйте `accessToken`, который теперь хранится в переменных окружения. В разделе `Authorization` укажите тип `Bearer Token` и используйте `{{accessToken}}`.
### 4. Настройка Запросов:
- Убедитесь, что запросы на обновление токена выполняются автоматически до выполнения конечных запросов, когда access token истекает.
- Вы можете использовать `Tests` для проверки статуса ответа и решать, нужно ли обновлять токен в зависимости от ошибки авторизации (401 - Unauthorized).
### Примечания:
- Убедитесь, что ваши переменные (accessToken, refreshToken) корректно настроены и доступны в нужной области видимости (например, в окружении или глобально).
- Регулярно тестируйте вашу конфигурацию, чтобы убедиться, что обновление токена происходит без ошибок.
С помощью этого подхода, вы сможете эффективно управлять токенами в Postman, избегая избыточного создания новых токенов.