Авторизация организации здравоохранения на сервере

Схема взаимодействия приложения без участия пользователя с АИС ЭР

Схема взаимодействия МИС с АИС ЭР с использованием серверной авторизации

Для доступа к API АИС ЭР предусмотрен механизм серверной авторизации на базе протокола OAuth 2.0. Необходимо использовать для обращения к методам API, данный механизм позволяет авторизовать приложение от которого будет происходить работа с API.

Сервис аутентификации АИС ЭР должен на запрос службы сформировать и передать токен доступа. Доступ к защищенным ресурсам на сервисе АИС ЭР должен предоставляться только после подтверждения токена сервисом аутентификации АИС ЭР.

Для работы организации здравоохранения с АИС ЭР с использованием авторизации нужно получить у сотрудников технической поддержки следующие параметры:

Параметр Значение
client_id Идентификатор Вашего приложения
client_secret Секретный ключ Вашего приложения
scope Scopes для определения доступных методов
auth url token_endpoint

Для получения токена доступа необходимо выполнить запрос к auth url, передав следующие параметры:

Параметр Значение
client_id Идентификатор Вашего приложения
client_secret Секретный ключ Вашего приложения
scope Scopes для определения доступных методов
grant_type client_credentials

Пример запроса

POST /connect/token
Body - {
grant_type:client_credentials
client_id:{client_id}
client_secret:{client_secret}
scope:{scopes}
}

Пример ответа

{
    "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImY1YjFiNjMwMTVkMTYxYjNjNGJmMDk5MDg2YzBlZDQxIiwidHlwIjoiSldUIn0.eyJuYmYiOjE1MjM2MDIzOTEsImV4cCI6MTUyMzYwNTk5MSwiaXNzIjoiaHR0cDovL2Voci5hdXRoZW50aWNhdGlvbnNlcnZlcjo1MDAwIiwiYXVkIjpbImh0dHA6Ly9laHIuYXV0aGVudGljYXRpb25zZXJ2ZXI6NTAwMC9yZXNvdXJjZXMiLCJFSFIiXSwiY2xpZW50X2lkIjoiUG9zdG1hbkNsaWVudCIsImNsaWVudF9vcmdhbml6YXRpb25faWQiOiIwMDAwZDMwYS05OGE4LTNmNzUtYjFlZC1iYmIyMDgyYWU1NWYiLCJzY29wZSI6WyJFSFIuTWVkaWNhdGlvblByZXNjcmlwdGlvbi4kYnktY2FyZCJdfQ.UrWtke1gtDXovjUNhy2M117DWlEvXCPn-ESv7jOtuboNL1WQBny1tVSYmDuIydCqIWs_skU-DUiCs0_4BjjuhNk-MB5S6ftu1h_pKhXWXYYkk23Uj4i4s-f_Naey4Xzl0nN-IyVm6grFYjLX9y739rYCeapsv0Vf2sLvcJcteHIqRcvOIJJXnhWfv4lq9cDqzbt9fFKHPsvvWoyoL1tyuTUNARRswXoZpMdhFVkcOOZ8f8UIO6yUnHY0zf7tfWrCwQvlRuEpyoS0_S-8Y2A-k1w9LZ2L9W-l2wmAcnB2RiR1TEbfKtO8dHEU_OV7Pxk3sgwIt-AkOYJsH7ssdd04XQ",
    "expires_in": 3600,
    "token_type": "Bearer"
}

После получения токена необходимо добавить в запрос к api заголовок Authorization со значением полученного токена Bearer {{access_token}}

POST {{api}}/Practitioner
headers- {
Content-Type:application/json
Authorization:Bearer  {{access_token}}
}