Развязка микросервиса аутентификации

#api #authentication #architecture #microservices

#API #аутентификация #архитектура #микросервисы

Вопрос:

Я хочу создать простой проект с парой микросервисов.

У меня есть пользовательский микросервис, который управляет всем персоналом, связанным с пользователем, таким как создание пользователя, обновление информации о пользователе и т.д.

И теперь мне нужно выполнить аутентификацию для моего проекта. И я немного застрял. Я хочу реализовать простую аутентификацию JWT с помощью токенов обновления. Я знаю, как это сделать, но я не знаю, где это сделать.

Итак, мой вопрос: нужно ли мне выполнять логику аутентификации в пользовательском микросервисе, или мне нужно сохранить ее отдельно и создать микросервис аутентификации?

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

Ответ №1:

Вы можете сделать это в пользовательском микросервисе, если он независим и может выдавать токен. Я бы посоветовал использовать федеративных поставщиков удостоверений, а не писать свои собственные. например. azure ad или auth0.com . Они, как правило, лучше защищены и соответствуют лучшим практикам. Вы получаете множество готовых функций, используя федеративных поставщиков удостоверений, например, вход в систему с помощью fb Google и т.д.