In order to configure pre-commit checkstyle checks, you need to:
- Install checkstyle distribution
- Install pre-commit utility
- Run set up hook scripts
You can do it manually leveraging the
cd scripts
./setup-hooks.shor running the
scripts/project_init.shwhich is recommended
Використовуємо Session-Based security with JWT механізмом для покращення надійності системи. Флоу можна описати як наступним чином(happy path, user logged in):
- Client(в нашому випадку frontend) надсилає запит до бекенду.
- API Gateway перехоплює запит та направляє його до auth service.
- auth service валідує запит на наявність
SESSIONIDcookie. - У випадку, якщо відсутній - перенаправляє на сторінку логіну із
originalRequestпараметром, щоб після логіну користувач був перенаправлений на бажану сторінку. У випадку, якщоSESSIONIDприсутній, сервіс витягує сесію із кешу Redis. - В кеші сесії зберігатимуться у форматі
SESSIONID: user_id. Система звертається до бази даних та дістає користувача зі зазначенимuser_id. - Система генерує JWT, який включатиме відомості про користувача, ролі, тощо. Система надсилає оригінальний запит з клієнту вже із токеном.
- API Gateway направляє запит із токеном до Resource Server. Resource Server валідує структуру токену та проводить авторизацію.
Client - програма або система, яка взаємодіє із бекендом. В нашому випадку, клінєтом виступатиме frontend. API Gateway - система, що виступає централізованою точкою входу до застосунку. Система відповідальна за load balancing, routing. Resource server - система, що зберігає чутливу інформацію та основну бізнес логіку.
