我正在设计一套应用程序,这些应用程序将集成在一起以显示为一个应用程序,并且我想使用OAuth通过Google进行身份验证。 Google在这种情况下有一种方法cross-client identity。我只需要将客户端应用分组到一个Google项目下即可。
到目前为止很好。
在这套应用程序套件中,有一个后端为所有客户端应用程序提供数据。我认为,客户端与后端通信的一种好方法是使用gRPC。现在,gRPC内置了handle Google's OAuth tokens的功能-很棒。客户端所需要做的只是调用grpc::GoogleDefaultCredentials()
以获得凭据,通过它可以打开到服务器的安全通道,令牌传递的东西将自动发生。
但是这里的目的是要打开一个通往Google服务器的通道,但是我想打开一个通往自己后端的通道。文档链接确实会说
此通道凭据对象适用于使用Service的应用程序 帐户以及在Google Compute Engine中运行的应用程序
但是我不知道这是指客户端还是服务器(可能是客户端)
因此,我最终对于如何在使用Google OAuth的跨客户端设置中使用gRPC感到困惑,以便当客户端向服务器发出呼叫时,服务器知道该呼叫来自哪个用户。
我的问题是,如果我想将OAuth与Google for SSO一起使用时,前端应用通过gRPC向后端应用发出请求时,启用用户和应用身份验证的最简单方法是什么?