Skip to content

Latest commit

 

History

History
21 lines (16 loc) · 2.2 KB

File metadata and controls

21 lines (16 loc) · 2.2 KB

Auth

Данный репозиторий содержит микросервис для аутентификации пользователей. Он предназначен для выдачи и валидации 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) зашифрована.