209 похожих чатов

Всем привет. Подскажите, как правильно организовать структуру сервисов внутри микросервиса отвечающего

за авторизацию пользователя:
Вот что пока придумал: создавать модули под каждую сущность (session, user, ..) где каждаю сущность предостваляет методы создания, удаления, обновления и т.д.
Другой варинат - один модуль auth, в котором множество сервисов со своими методами.
Или может у вас есть свои варианты, примеры?

11 ответов

11 просмотров

микросервис авторизации должен отвечать только за авторизацию и регистрацию пользователей - стратегии авторизации (локальная, jwt, oauth и т.д.) - генерация токенов - генерация ссылок активации - генерация кода активации (например по смс) (при том отправка смс это уже другой микросервис) - хранить у себя в бд данные пользователя, токенов, кодов и ссылок активации, которые нужны именно для авторизации, данные по типу ФИО, паспортные и т.д. - это уже профиль, все это в микросервис user Как будет у тебя это организованно - уже твое дело. Этот микросервис будет иметь контроллеры? Если да - то проще, если все будет через какой-нибудь gateway, это уже сложнее.

Дмитрий Могилевцев
микросервис авторизации должен отвечать только за ...

А в этом случае в нём будет логика создания юзера, или она будет с сервиса User?

Liubomyr
А в этом случае в нём будет логика создания юзера,...

да, создание пользователя тут, с email, телефоном. В микросервисе user уже данные необходимые для профиля, ФИО, адреса, фотки если надо и прочее

печатает...- Автор вопроса
Дмитрий Могилевцев
микросервис авторизации должен отвечать только за ...

А как сделать авторизацию, то есть создание сессии? Если у меня user в другом микросервисе (гипотетически может быть и на другом сервере) вместе с БД где хранятся данные пользователя, а микросервис auth должен проверить логин и пароль перед выдачей сессии, ему нужно будет лезть в БД с пользователями (которую использует микросервис user)?

печатает...
А как сделать авторизацию, то есть создание сессии...

ну да, делается это внутри стратегии, инджектируешь юзер сервис и через него проверяешь пользователя. А как ты будешь проверять, внутри auth сервиса хранить пользователей и проверять, ходить через очередь или другие способы в другой сервис - уже от тебя зависит

печатает...- Автор вопроса
Дмитрий Могилевцев
ну да, делается это внутри стратегии, инджектируеш...

ок, я наверное напрямую подключение в БД сделаю, просто получается что оба сервиса зависят от одной БД

печатает...- Автор вопроса
Дмитрий Могилевцев
у каждого мс своя бд

а пользователей нужно дублировать?

печатает...
А как сделать авторизацию, то есть создание сессии...

Ну наш концепт не подойдет тебе скорее всего *У нас нет API gateway | выше стоит traefik / nginx, а у микросервиса 2 контроллера, для общения у сервисов и http ответов*

Похожие вопросы

Обсуждают сегодня

Карта сайта