Я разрабатываю набор приложений, которые объединяются в одно приложение, и я хочу использовать OAuth для аутентификации через Google.У Google есть способ сделать идентификацию между клиентами для этой самой ситуации.Мне просто нужно сгруппировать клиентские приложения в одном проекте Google.
Пока все хорошо.
В этом наборе приложений есть единый серверный модуль, который подает данные всем клиентским приложениям.Я решил, что отличный способ общения клиентов с бэкэндом - это использование gRPC .Теперь в gRPC есть возможность обрабатывать OAuth-токены Google - замечательно.Похоже, что все, что нужно сделать клиенту, это позвонить по номеру grpc::GoogleDefaultCredentials()
, чтобы получить учетные данные, с помощью которых он может открыть безопасный канал к серверу, и передача токенов произойдет автоматически.
Однако здесь предполагается, что выВы открываете канал на сервер Google, но я хочу открыть канал на свой сервер.Ссылка на документы говорит:
Этот объект учетных данных канала работает для приложений, использующих учетные записи служб, а также для приложений, работающих в Google Compute Engine
, но я не знаю,это относится к клиенту или серверу (возможно, клиенту)
Так что я запутался в том, как бы я использовал gRPC в межклиентской настройке с Google OAuth, чтобы, когда мой клиент звонил моемусервер сервер знает, от какого пользователя поступает вызов.
Мой вопрос заключается в том, каков самый простой способ включить аутентификацию пользователя и приложения, когда мое веб-приложение отправляет запрос в мое серверное приложение через gRPC, если я хочуиспользовать OAuth с Google для единого входа?