beatflow-auth

module
v0.0.0-...-b8c8d9e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2025 License: MIT

README

Drop Authorization Service

Микросервис для аутентификации и авторизации пользователей.

Основные возможности

  • Ролевая модель:
    • Пользователи (user)
    • Администраторы (minor/major)
  • Фильтрация пользователей по параметрам
  • Админ-токены с расширенными правами
  • Авторизация через Telegram + JWT
  • CRUD операции с пользователями

Стек

  • Go
  • PostgreSQL (pgx + sqlc)
  • Redis (для хранения refresh-токенов)
  • Docker
  • gRPC + gRPC Gateway

Запуск сервиса

  1. Клонируйте репозиторий:

    $ git clone https://github.com/MAXXXIMUS-tropical-milkshake/drop-auth.git
    
    $ cd drop-auth
    
  2. Запустите сервис:

    $ docker compose up
    

API

Метод Эндпоинт Требуемая роль Описание
GET /health - Проверка доступности сервиса
POST /v1/admin/init - Создание major админа (запрос только с localhost)
POST /v1/admin major admin Добавление minor админа по username (нужен jwt токен)
DELETE /v1/admin/{user_id} major admin Удаление minor админа по user_id (нужен jwt токен)
POST /v1/auth/login - Создание пользователя и выдача токенов (нужен telegram mini apps токен авторизации)
POST /v1/auth/token/refresh - Ротация jwt токенов (нужен refresh token)
PATCH /v1/user - Обновление пользователя (нужен access token, где хранится id пользователя)
GET /v1/users - Множественная фильтрация пользователей по различным параметрам
GET /v1/admins any admin Множественная фильтрация админов по нескольким параметрам

База данных

Схема базы данных находится на следующем ресурсе:

Прото-файлы

https://github.com/MAXXXIMUS-tropical-milkshake/drop-protos

Для более подробного ознакомления с API следует читать документацию (в docs).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL