Skip to main content

Oauth2

У системі налаштований доступ до АПІ за схемою OAuth2.0

Отримання токена

Для отримання токена потрібно виконати наступні дії:

  1. Отримати clientId та clientSecret
  2. Виконати запит для отримання токена для доступа
  3. Виконати запит до АПІ з токеном

Створення ключів OAuth2.0

Для надання доступу до АПІ, потрібно створити ключ доступу (clientId та clientSecret) для OAuth2.0. Для цього потрібно перейти до Управляння -> Налаштування ключів OAuth

У цьому пункті налаштувань, адміністратору системи надається можливість адмініструвавання ключів доступу до АПІ за OAuth2.0

Для додавання нового ключа потрібно натиснути Додати. У вікні, яке відкриється, потрібні заповнити поля відповідно до їх назви, як показано у прикладі:

Якщо потрібно обмежити доступ за ip адресами - то потрібно вказати перелік адрес у полі Дозволені IP яким буде наданий доступ. Якщо це поле залишити пустим - то доступ за цим ключем буде з будь-якої IP адреси

Виконання запиту для отримання токену

У системі реалізоване АПІ для отримання токена доступу OAuth2.0

Для отримання токена потрібно виконати post запит до АПІ /api-user/oauth/token. У body запиту потрібно передати надані параметри clientId та clientSecret, які були створені у попередньому пункті.

Приклад запиту у Postman:

У відповіді в параметрі access_token отримуємо токен доступу до АПІ

Виконання запиту з токеном

Для виконання запиту до АПІ за токеном OAuth, потрібно передати отриманий токен у параметрі загаловків Authorization. Токен передається наступним чином:

Bearer <token>

Приклад запиту з токеном у Postman:

Заборона доступу до токена

Доступ до токуена можна обмежити за IP, як це описано у пункті "Отримання токена -> Створення ключів OAuth2.0". Також надана можливість вимикати токени за потреби та видаляти їх

Для вимкнення токена потрібно прибрати галочку з пункту On/Off

Видали токен можна шляхом натискання на кнопку і обравши пункт Вилучити у меню, яке вспливе, як показано на прикладі нижче

Логи Oauth2

Кожна операція з отримання токену логується, а логи записуютсья у <тека коду сервера>/log/auth/oauth/<дата>. Лог являє собою файл з такими полями:

  • timestamp - дата створення запису у лог
  • name - назва
  • hostname - сайт до якого було здійснено запит
  • ip - IP-адреса з якої прийшов запит
  • level - рівень логу (INFO, DEBUG, ERROR)
  • resp_code - http-код відповіді
  • response - відповідь (записується якщо виникла помилка запиту)