Oauth2
У системі налаштований доступ до АПІ за схемою OAuth2.0
Отримання токена
Для отримання токена потрібно виконати наступні дії:
- Отримати
clientIdтаclientSecret - Виконати запит для отримання токена для доступа
- Виконати запит до АПІ з токеном
Створення ключів 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- відповідь (записується якщо виникла помилка запиту)