Из обзора вашего сценария становится ясно, что взаимодействия происходят между системой.Нет взаимодействия с конечным пользователем (человеком).
Во-первых, учитывая, что ваши приложения выполняются в защищенной среде (закрытой), они могут рассматриваться как конфиденциальные клиенты. Типы клиентов OAuth 2.0 подробнее об этом.На этом фоне вы можете выдать каждому распределенному компоненту приложения идентификатор клиента и секрет клиента.
Что касается типа предоставления, сначала я приглашаю вас ознакомиться со всеми доступными параметрами.Это можно сделать, перейдя в раздел Получение авторизации .Проще говоря, это объясняет, каким образом приложение может получить токены (особенно токены доступа), которые можно использовать для вызова защищенной конечной точки OAuth 2.0 (в вашем случае конечной точки RPC).
Для вас лучшим типом предоставления будет клиентские полномочия .Он предназначен для клиентов с предварительно установленным доверием к защищенной конечной точке OAuth 2.0.Кроме того, он не требует браузера (пользовательский агент) или конечного пользователя по сравнению с другими типами грантов.
Наконец, вам потребуется использовать сервер авторизации OAuth 2.0.Это позволит регистрировать разных распределенных клиентов и выдавать идентификаторы клиентов, их секреты.И когда клиенту требуется получить токены, он использует конечную точку токена.И каждый клиентский вызов вашей конечной точки RPC будет содержать действительный токен доступа, который вы можете проверить с помощью самоанализа токена (или любого другого желаемого метода).