我可以在不同实例上为同一用户使用单个Google API凭据来部署多个微服务吗?

时间:2018-10-10 13:31:20

标签: google-api google-drive-api gsuite

Application1-> Microservice1(部署在一台服务器上,并且数据库是单独的)

Application2-> Microservice2(在其他服务器上部署,并且数据库是单独的)

注意:对于Microservice1和Microservice2,我们使用相同的Google API凭据。

我们有一个应用程序,可以为用户提供使用在线编辑器编辑word,ppt,excel文件的功能。

因此,我们已经配置了微服务,该服务使用了GSuite API,供用户使用Google在线文字编辑器编辑该文件。

现在,我们遇到一种情况,例如,当一个用户从Application1打开文件时,我们的应用程序会将用户重定向到google登录屏幕,一旦用户输入了其凭据,google就会检查第三方应用程序是否已经在登录用户帐户中注册,如果没有,则google将显示同意屏幕以向当前用户注册第三方应用。

一旦用户允许第三方应用,那么Google会将用户重定向到我们的Microservice1 回调进入我们的微服务后,我们会将用户的刷新令牌存储到数据库中,并且用户可以在线编辑文档。

现在,用户从Application2打开文件,它将用户重定向到google登录屏幕,一旦用户输入的密码与他在上面使用的相同,则google将检查第三方应用程序是否已使用登录用户帐户注册,这google一次发现第三方应用程序已经向他们注册,并且google会将用户重定向到Microservice2,但是这次google不提供刷新令牌,并且在我们的数据库中也没有刷新令牌条目,因此我们将无法在在线编辑器中打开文件。

那么,有什么方法可以只使用一个Google API凭据来处理这种情况?

还是我们需要单独的帐户来为我们提供不同的Google API凭据?

赞:

Microservice1(一个具有Google API凭据的Google帐户)

Microservice2(另一个具有Google API凭据的Google帐户)

感谢任何帮助。

谢谢...

1 个答案:

答案 0 :(得分:0)