###################### **Авторизація** ###################### Після підключення послуги для роботи з API, користувач отримує логін і пароль для авторизації. Авторизація API відбувається за допомогою передачі цих ключових параметрів в HTTP POST запиті: - email - рядок; логін користувача; - password - рядок, пароль користувача на платформі EDIN 2.0 - api_key - рядок, пароль доступу до API Після авторизації відбувається передача унікального cookie токена "SID". HTTP-заголовок відповіді сервера в вигляді "Set-Cookie" використовується для подальшої відправки файлів "Cookie". В кожному наступному запиті (виклику методу) повинен бути присутнім HTTP-заголовок (Header) "Cookie", який для коректного виконання запитів повинен містити токен "SID" зі значенням, отриманим при авторизації. В сучасних популярних браузерах і Rest клієнтах відбувається автоматичне збереження і передача токена на сервер під час сесії, однак при використанні деяких інтеграційних рішень, самописних REST-клієнтів цей обов'язковий параметр може не передаватись - його необхідно примусово передавати в заголовку (Header) "Cookie". Після авторизації час життя сесії при бездіяльності користувача становить 10 хвилин. +--------------------------------------------------------------+----------------------------------------------------------------+ | **Метод запиту** | **HTTP GET** | +==============================================================+================================================================+ | **Content-Type** | application/json (тіло HTTP запиту / відповіді в json форматі) | +--------------------------------------------------------------+----------------------------------------------------------------+ | **URL запиту** | https://edo-v2.edin.ua/api/oas/authorization | +--------------------------------------------------------------+----------------------------------------------------------------+ | **Параметри, що передаються в URL (разом з адресою методу)** | Обов'язкові параметри: | | | | | | **email** - рядок; логін користувача; | | | | | | **password** - рядок, пароль користувача на платформі EDIN 2.0 | | | | | | **api_key** - рядок, пароль доступу до API | +--------------------------------------------------------------+----------------------------------------------------------------+ При авторизації json-тіло **запиту** відсутнє (інші дані передавати не потрібно). При успішній авторизації отримуємо у відповідь "токен" (наприклад,``'SID=65daca25-74ba-4c85-8183-71b404a348c0'`` ), необхідний для подальшої роботи. -------------- .. hint:: Також можливо виконати запит у вигляді curl-рядка: curl -X POST 'https://edo-v2.edin.ua/api/oas/authorization' -d 'email=uaEDSsender&password=111&api_key=66B4814DEC28B4CA17DE56338A52D7DB' Специфікація для розшифровки ключів curl запиту: https://curl.haxx.se/docs/manpage.html -------------- Перевірки ========== Доступні методи для перевірки активності сесії та сервера: **Перевірка активності сервера (метод не потребує проходження авторизації):** +------------------+-----------------------------+ | **Метод запиту** | HTTP GET | +==================+=============================+ | **URL запиту** | https://edo-v2.edin.ua/ping | +------------------+-----------------------------+ .. hint:: Також можливо виконати запит у вигляді curl-рядка: curl -X GET 'https://edo-v2.edin.ua/ping' **Перевірка активності сесії:** +--------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+ | **Метод запиту** | HTTP GET | +==============================================================+===========================================================================================================+ | **URL запиту** | https://edo-v2.edin.ua/api/auth_check | +--------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+ | **Параметри, що передаються в URL (разом з адресою методу)** | У рядку заголовка (Header) "Set-Cookie" обов'язково передається **SID** - токен отриманий при авторизації | +--------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+ .. hint:: Також можливо виконати запит у вигляді curl-рядка: curl -X GET 'https://edo-v2.edin.ua/api/auth_check' -b 'SID=65daca25-74ba-4c85-8183-71b404a348c0;'