06. Авторизация в запросе к Rest серверу

# > Общий раздел (Russian/Russia) > 01. REST сервер ( API для Медиалога ) > Документация > 3. Установка и настройки сервера > 06. Авторизация в запросе к Rest серверу

Описание

Авторизация в запросе к Rest серверу

Программа выполняет запрос только в том случае, если с ним приходят корректные ключи для определения источника запроса.
Т.е. запрос проходит авторизацию.
Программа поддерживает 3 типа аутентификации.

  1. По ключу x-api-key
  2. Basic , то есть требуется передача логина и пароля
  3. GUID указанный в xml SOAP-запроса при работе с Системой Нетрики (КУ ФЭР, ГосУслуги)

Первый и второй способ может применяться ко всем запросам кроме запросов SOAP от Нетрики. Третий только для Нетрики.

1. Первый способ

На этапе настройки требуется сгенерировать любым способом (можно вручную можно на сайтах. Пример https://www.rapidus.ru/guid-generator.html )
ключ вида
5238C163-BF17-43F7-B08E-E26CB0BD0BC7
Прописать эту строку в automedi.ini через интерфейс Программы через меню Настройки→Сохранить x-api-key
Передать этот ключ разработчику сайта/приложения, которое будет работать с Программой REST-сервером.

Приложение должно в каждом http-запросе добавлять в заголовок Headers параметр x-api-key: {ключ}
Например:

curl "https://192.168.159.151:45777/get_filial" \
-H "x-api-key: 5238C163-BF17-43F7-B08E-E26CB0BD0BC7"

2. Второй способ

Если в запросе отсутствует x-api-key, то включается стандартная Basic Authorization и в запросе должны передаваться индивидуальные логин+пароль пациента, закодированные в Base64
Например:

curl "https://192.168.159.151:45777/get_filial/" \
-H "authorization: Basic MTIzOnF3MTJlcjM0dHk1Ng=="
тут MTIzOnF3MTJlcjM0dHk1Ng==
это логин 123 и пароль qw12er34ty56
В Программе по умолчанию в качестве логина используется PATIENTS_ID , а пароль задается в специальном поле на Титульном Листе пациента.
При этом Приложение в запросе должно посылать не сам пароль, а его MD5 хэш.

3. Третий способ

по GUID работает только с запросами Нетрики.
GUID приходит в теле запроса, Программа проверяет его наличие в специальном справочнике базы Медиалога, если его там нет то делает специальный запрос в Систему Нетрики, о том что это за GUID, если Нетрика подтверждает что такой у них зарегистрирован, то Программа сохраняет его в справочник.
В итоге если GUID есть в справочнике то он обрабатывается дальше и выдается ответ на запрос. Иначе возвращается сообщение об ошибке.

_

Создан: Соловей Евгений 01.02.24 8:10; Изменен: Соловей Евгений 15.02.24 8:42
Эта страница является подготовленной к печати версией файла "06. Авторизация в запросе к Rest серверу".
Подготовлено с помощью Project Kaiser - программы для управления проектами и задачами
Пользователь:Guest