Должен ли микросервис аутентификации реализовывать функции которые от него зависят

Изучая различные реализации микросервисов аутентификации, столкнулся с вопросами:

Введение:

Сервис аутентфикаици занимается выдачей токенов и ничего более. Имеет собственную БД, в которой содержится:

  • ID пользователя
  • логин
  • хэш пароля.

Пример такого микросервиса (Docker + FastAPI + Postgress): https://github.com/hriczzoli/auth-microservice

У меня появились вопросы:

  • Как будет работать смена пароля? На какой сервис следует отправить запрос с фронта?
  • Администрирование. Должна быть раздел администратора, в котором можно добавить/удалить пользователей, сменить логин, сбросить пароль. Кто предоставит API для раздела администратора?
  • Регистрация новых пользователей. Пользователь отправил запрос, а стороне бэкенда надо создать учетку в микросервисе аутентификации, отправить письмо на почту с приветствием, ... (еще несколько действий), и все эти действия выполняются сторонними микросервисами. Должен ли микросервис авторизации оповещать сторонние сервисы о успешной регистрации нового пользователя?

Если микросервис аутентификации делать максимально простым (только выдача токенов (в соответствии с идеалогией микросервисов)), то мне не понятно, как решать вопросы выше. А если добавить подобный функционал, то сервис станет совсем не микро.

Стоит ли добавлять указанный функционал в микросервис, или такие вопросы решаются иначе? Или есть готовые примеры?


Ответы (0 шт):