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
- відповідь (записується якщо виникла помилка запиту)