У меня есть решение для микросервисов со шлюзом API перед микросервисами.Я хочу, чтобы авторизация происходила на уровне микросервиса.У меня есть клиент SPA, использующий неявный поток для получения токена и вызова API.В API я использую поток от имени, чтобы получить токен для вызова соответствующего микросервиса в качестве пользователя.Таким образом, для микросервиса это, по-видимому, пользователь, и авторизация может быть выполнена.
Мой вопрос: если я не использую поток от имени, мне нужно дать шлюзу API разрешение на уровне приложенияполучить доступ к микросервису.Если я предоставлю возможности API-сервиса уровня приложения (поток предоставления учетных данных клиента), мне придется полагаться на API шлюза для выполнения авторизации, что кажется очень плохой идеей.Это также очень плохая идея, если другой API должен вызывать мой в аналогичном сценарии.
Мой вопрос таков: каковы некоторые другие подходы, которые позволили бы мне передать идентификацию пользователя через микросервис, настолько подходящийавторизация может произойти?
Я видел примеры использования другого заголовка в Identity Server, но это не так, если это происходит из-за нехватки опций от имени в Identity Server.Кстати, я понимаю, что мог бы передать идентификатор пользователя в виде строки, но я бы потерял все преимущества подписанного токена, которые обеспечивают определенный уровень уверенности в том, что токен не был подделан.