Это руководство полезно, если вам нужно автоматически сгенерировать токены для использования в Postman, и это должно быть создано автоматически перед каждым запуском тестового пакета.

Процесс требует, чтобы вы отправили два запроса POST для проверки подлинности и получения токена доступа.

  • На первый запрос придет код.
  • Второй запрос получит использование кода для получения токена доступа

Пошаговое руководство

Перед этой настройкой у вас должна быть учетная запись клиента настройка в ADFS 3.0.

ПОЛУЧИТЬ КОД

Вам необходимо иметь следующие

  • Серверный домен ADFS 3.0
  • Имя пользователя Windows в формате ADF \ USER1 и пароль

Откройте почтальон и настройте запрос POST на имя домена аутентификации.

например, https://assets.myflyinggorillas.co.uk/adfs/oauth2/authorize?response_type=code&client_id=localhost-postman-test&resource=https://animals.api.test.intranet.net&redirect_uri=https://www. getpostman.com/oauth2/callback

Этот 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

Вкладка 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));

Наконец, если вы все настроили, как я, вы должны отправить код запроса, а затем токен запроса. Затем укажите значения вашего кода и токена, как показано ниже.

Отличная работа!