Как авторизовать клиентов в микросервисной архитектуре - PullRequest
2 голосов
/ 14 июля 2020

Я пытаюсь создать приложение, подобное Spotify, где пользователи могут получать доступ к определенному контенту при подписке. Я пытаюсь использовать микросервисную архитектуру для создания этого. Клиент - это приложение android.

Итак, для аутентификации пользователя у меня есть «Служба учетной записи». Он использует код Oauth2 для аутентификации пользователя. Для доступа к контенту я создал сервис под названием «контент-сервис», который разрешал бы пользователям доступ к контенту, тем самым давая им подписанный URL-адрес контента (в данном случае ссылка на .mp3).

Теперь, как мне авторизовать запросы пользователей в «контент-сервисе». Все реквизиты подписки хранятся в базе данных «Account Service». Я не хочу, чтобы он взаимодействовал со службой учетной записи, так как это противоречит цели использования микросервисной архитектуры.

поэтому, чтобы решить эту проблему, я подумал об использовании цифровых подписей. Попросите службу учетной записи сгенерировать пару ключей, отправьте ключ publi c в «службу содержимого» или в какую-либо другую службу хранилища ключей. укажите доступ / авторизацию в JSON, подпишите и отправьте клиенту. Когда клиент хочет получить доступ к какому-либо контенту, он отправляет этот подписанный JSON в «службу контента», которая проверяет его действительность, используя ключ «Служба учетной записи», отправленный ранее, и, таким образом, авторизует пользователя и предоставляет доступ.

Я хочу знать лучший / стандартизированный способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...