Я разрабатываю систему аутентификации / авторизации в узле J для приложения на основе микросервиса.
Я прочитал некоторые статьи и документацию о стандарте OAuth2, но мне нужно кое-что прояснить для моего случая использования. В основном у OAuth2 есть несколько действующих лиц, таких как:
- Владелец ресурса (пользователь)
- Клиентское приложение (веб-приложение в некоторых потоках грантов OAuth2, такое как код авторизации, неявный, пароль)
- Сервер авторизации
- Сервер ресурсов (служба, к которой я хочу получить доступ)
Поэтому в моей базе данных я храню клиента (веб-приложение) с его client_id и client_secret.
Предположим, что одному из моих микросервисов необходим доступ к данным из другого микросервиса. Оба они имеют REST Api. Нет взаимодействия с пользователем, все делается в фоновом режиме. В этом случае я бы использовал поток учетных данных клиента. Следуя правилам OAuth2, оба они являются серверами ресурсов, но в то же время похоже, что они также являются клиентскими приложениями.
Так я должен зарегистрировать их в таблице / коллекции клиентских БД с идентификатором клиента, секретным и так далее, или я сделал несколько ошибок?
Спасибо