Сервис авторизации:
Реализовать бэкенд апи для реализации централизованной авторизации для группы сервисов. Инструменты — python3 poetry fastapi alembic sqlalchemy postgresql jwt
Цель сервиса — центральный сервис авторизации, выдает jwt токен при авторизации, позволяет выполнять операции CRUD над пользователями.
Пользователь сожержит: username, email, password. Пользователь может иметь доступ к одному или множеству сервисов в виде единственной роли на каждый сервис.
Верно
| username | role | service |
| --- | --- | --- |
| supersu | admin | scheduler |
| supersu | client | graphics |
| externaluser | client | scheduler |
Ошибка
| username | role | service |
| --- | --- | --- |
| supersu | admin | scheduler |
| supersu | client | scheduler |
| externaluser | client | scheduler |
Пользователь сервиса может: получить jwt токен по паре (username или email) и password
Администратор может: Получить список всех пользователей (с пагинацией).
Создать пользователя передав логин и пароль. Добавить доступ для пользователя (роль в сервисе).
Удалить пользователя по логину.
Можно расширить функционал сервиса на усмотрение собеседуемого