Данный репозиторий содержит микросервис для аутентификации пользователей. Он предназначен для выдачи и валидации JSON Web Tokens (JWT), обеспечивая безопасный доступ к другим микросервисам в рамках многопользовательской платформы.
Сервис предоставляет RESTful API для следующих операций:
- POST / – Регистрация: Создание новой учетной записи пользователя с уникальным UUID.
- GET /login/{uuid} – Вход (логин): Выдача JWT для зарегистрированного пользователя.
- GET /renew – Обновление токена: Получение нового JWT на основе существующего, что позволяет продлить сессию без повторного входа.
- HEAD /{uuid} – Валидация токена: Проверка действительности и принадлежности JWT к указанному пользователю.
Сервис реализован на Python и использует следующие технологии:
- Веб-фреймворк: FastAPI для создания RESTful API.
- База данных: SQLite для легковесного хранения данных о пользователях.
- Управление зависимостями: requirements.txt.
- Безопасность:
- JWT (JSON Web Token): Используется для создания и валидации токенов.
- JWE (JSON Web Encryption): В коде есть частичная имплементация, которая, судя по всему, заменяет обычный JWT на JWE, что обеспечивает не только целостность, но и конфиденциальность данных в токене, так как полезная нагрузка (payload) зашифрована.