У нас есть простая настройка: сервер авторизации на основе OAuth 2.0, который в настоящее время поддерживает только тип предоставления client_credentials. Затем у нас есть API, сервер ресурсов, который защищен с помощью запроса токена доступа с нашего сервера OAuth.
До сих пор все варианты использования нашего API представляли собой чисто межмашинное взаимодействие, где просто серверы наших клиентов выполняют пакетные задания.
Сегодня у меня была встреча с новым клиентом. У них есть SPA, который, по-видимому, не имеет своего собственного внутреннего сервера. Он использует AWS для аутентификации и, похоже, возвращает JWT, но, насколько я могу судить, они делают много вызовов API непосредственно для общедоступных сервисов, а затем вся логика выполняется в SPA.
В идеале нам бы хотелось, чтобы они просто зарегистрировали у нас один клиент OAuth, чтобы, когда пользователи отправляют запрос, которому требуется один из наших API, запрос сначала направляется на их сервер, который выполняет поиск, а затем использует учетные данные своего клиента для связи с нашим сервером. Но они предпочли бы не создавать бэкэнд. В этом случае я немного растерялся из-за того, как мы разумно позволяем им интегрироваться с нашей системой. Они предпочли бы отправить JWT своего пользователя в нашу систему, но я не думаю, что они понимают, что в этом случае нам понадобится их ключ для проверки подписи пользователя, и мы не хотим создавать новые API просто для этого. цель.
Буду очень признателен за любые советы по этому вопросу - большое спасибо заранее за любую помощь.