Это руководство полезно, если вам нужно автоматически сгенерировать токены для использования в Postman, и это должно быть создано автоматически перед каждым запуском тестового пакета.
Процесс требует, чтобы вы отправили два запроса POST для проверки подлинности и получения токена доступа.
- На первый запрос придет код.
- Второй запрос получит использование кода для получения токена доступа
Пошаговое руководство
Перед этой настройкой у вас должна быть учетная запись клиента настройка в ADFS 3.0.
ПОЛУЧИТЬ КОД
Вам необходимо иметь следующие
- Серверный домен ADFS 3.0
- Имя пользователя Windows в формате ADF \ USER1 и пароль
Откройте почтальон и настройте запрос POST на имя домена аутентификации.
Этот URI в URL-адресе необходимо закодировать, в результате у вас будет https://assets.myflyinggorillas.co.uk/adfs/oauth2/authorize?response_type=code&client_id=localhost-postman-test&resource=https%3A%. 2F% 2Fanimals.api.test.intranet.net & redirect_uri = https% 3A% 2F% 2Fwww.getpostman.com% 2Foauth2% 2Fcallback
Ваш URL-адрес будет отличаться в зависимости от содержимого, относящегося к вашей настройке.
в этом примере доменное имя - https://assets.myflyinggorillas.co.uk
- response_type = код
- client_id = локальный-почтальон-тест
- resources = https://animals.api.test.intranet.net (кодируемый URI)
- redirect_uri = https://www.getpostman.com/oauth2/callback (кодируемый URI)
Вкладка Body:
Здесь должны быть данные для входа в ADFS (windows), которые вы обычно используете для своего компьютера или теста - имя пользователя Windows в формате ADF \ USER1 и пароль.
Он должен быть в формате x-www-form-urlencoded.
- Имя пользователя
- Пароль
- AuthMethod
Перехватчик
Запретить почтальону / перехватчику автоматически следовать перенаправлениям, как показано ниже
Создать переменную среды
Добавьте ключ среды для кода, который будет сохранен в переменной среды (как показано ниже).
Добавьте ключ среды для сохранения токена.
Код, который мы поместим в тестовый тест, заполнит значения полей с правой стороны.
Вкладка Test:
На вкладке теста поместите приведенный ниже сценарий для извлечения кода из заголовка ответа.
Когда приведенный ниже код запускается, он должен сохранить значение кода в среде
Сохранить код в переменной среды
tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");
tests["Location is present"] = postman.getResponseHeader("Location");
var text = postman.getResponseHeader("Location");
if(text){
var arr = text.split('=');
var code = arr[1];
}
if(responseCode.code === 302){
postman.setEnvironmentVariable("code", code);
}
else(console.log("Could not get code"
+ responseCode.code));
ПОЛУЧИТЬ ТОКЕН
Отправить еще один запрос POST на адрес
Https://assets.myflyinggorillas.co.uk/adfs/oauth2/token
Текст запроса должен быть в формате x-www-form-urlencoded.
Необходимо настроить следующие ключи.
- ID клиента
- redirect_uri
- grant_type
код в фигурных скобках (как показано ниже) будет автоматически выбран из переменных среды, сохраненных на предыдущем шаге.
используйте приведенный ниже код, чтобы сохранить токен в переменной среды, и это можно вызвать для других шагов теста.
var data = JSON.parse(responseBody); if(responseCode.code === 200){ postman.setEnvironmentVariable("token", data.token); } else(console.log("Could not get token" + responseBody));
Наконец, если вы все настроили, как я, вы должны отправить код запроса, а затем токен запроса. Затем укажите значения вашего кода и токена, как показано ниже.
Отличная работа!