如何调用使用GCP身份验证的REST服务?

我必须从我的应用程序中调用使用Google身份验证的外部http服务。当我从浏览器调用它时,它可以工作。我发现发生这种情况是因为我的Cookie包含

GCP_IAAP_AUTH_TOKEN_<random_string>
GCP_IAP_UID 

所以我的cookie看起来像这样:

cookie:    GCP_IAP_UID=111111111111; GCP_IAAP_AUTH_TOKEN_1234567891234567890B=verylongstringhere"

我试图直接在restTemplate中设置此cookie,它可以正常工作,但是我希望我必须基于某种凭据来获得令牌。

webClient.post()
         .uri(uploadUrl)                    
         .header("cookie","GCP_IAP_UID=12345678901234567890; GCP_IAAP_AUTH_TOKEN_12345678907645456546B=verylongstringhere")

请提供正确使用GCP身份验证的示例吗?如何更新令牌?基于什么?

abcd_219616 回答:如何调用使用GCP身份验证的REST服务?

Google API使用OAuth 2.0协议进行身份验证和授权

您可以从Google API控制台获取OAuth 2.0客户端凭据。然后,您的客户端应用程序从Google授权服务器请求访问令牌,从响应中提取令牌,并将该令牌发送到您要访问的Google API。

在您的应用程序可以使用Google API访问私有数据之前,它必须获取一个授予该API访问权限的访问令牌。

有几种方法可以发出此请求,并且这些方法根据您所构建的应用程序的类型而有所不同。例如,JavaScript应用程序可能会使用浏览器重定向到Google来请求访问令牌,而安装在没有浏览器的设备上的应用程序会使用网络服务请求。

我建议您深入阅读OAuth 2.0 to Access Google APIs文章,为您的应用程序选择最佳方法,其中有一些记录在案的场景可以解释GCP如何使用应用程序身份验证

本文链接:https://www.f2er.com/3107070.html

大家都在问