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帐户)
感谢任何帮助。
谢谢...