Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication 如何跨多个访问Google应用程序的服务共享凭据_Authentication_Go_Google Cloud Platform_Microservices_Credentials - Fatal编程技术网

Authentication 如何跨多个访问Google应用程序的服务共享凭据

Authentication 如何跨多个访问Google应用程序的服务共享凭据,authentication,go,google-cloud-platform,microservices,credentials,Authentication,Go,Google Cloud Platform,Microservices,Credentials,首先,我为我在这个问题上的幼稚提前道歉 我试图创建一些使用API网关公开的微服务。其中一些服务需要从谷歌账户获得凭证才能访问谷歌日历/Gmail等。。有没有办法让用户只需登录一次,就可以在服务之间共享凭据?或者应该只有一个服务面对具有凭据的Google服务吗?似乎有可能,您可以要求用户立即验证并授权应用程序所需的所有权限。但是想想用户,当一个应用程序需要立即访问gmail、聊天室、照片、照相机等时,用户通常不相信这个应用程序。因此,推荐的方法是询问特定的it,以便用户可以实现应用程序执行的每个操

首先,我为我在这个问题上的幼稚提前道歉


我试图创建一些使用API网关公开的微服务。其中一些服务需要从谷歌账户获得凭证才能访问谷歌日历/Gmail等。。有没有办法让用户只需登录一次,就可以在服务之间共享凭据?或者应该只有一个服务面对具有凭据的Google服务吗?

似乎有可能,您可以要求用户立即验证并授权应用程序所需的所有权限。但是想想用户,当一个应用程序需要立即访问gmail、聊天室、照片、照相机等时,用户通常不相信这个应用程序。因此,推荐的方法是询问特定的it,以便用户可以实现应用程序执行的每个操作

根据具体情况,有许多不同的方法可以解决您的问题,但是以下链接可以帮助您了解从何处开始:

  • 此链接在所有身份机制上都有广泛的上下文,以查找最适合您的身份机制

  • 这是另一个解释所有可能的特定用例


这对于谷歌日历是有用的,但是这篇文章解释了如何解决这个问题。

你是否可以在面向内部的vpc后面拥有一个微服务。此服务可以与数据库通信。您的外部服务应该能够在登录后使用一些用户标识符(用户id)访问此内部服务,以获取要在您的公共层上使用的google creds。您的面向公众的服务也必须与您的面向内部的服务位于同一vpc上,以便与之通信,可能通过一些API->GET、POST、PATCH、DELETE、mod SQL或任何db进行通信。google creds必须以刷新令牌的形式出现,这样您就可以使用oauth流。您使用kubernetes吗?如果是,您可以将令牌存储在机密中: