Authentication 在GCP环境外验证Google云函数调用
我试图在InContact Studio上调用google云函数来实现IVR调用中的逻辑,但我无法做到这一点,因为我已经关闭了对我的云函数的公共访问,现在我无法获得如何验证调用的方法。 我尝试使用命令Authentication 在GCP环境外验证Google云函数调用,authentication,google-cloud-platform,https,oauth-2.0,google-cloud-functions,Authentication,Google Cloud Platform,Https,Oauth 2.0,Google Cloud Functions,我试图在InContact Studio上调用google云函数来实现IVR调用中的逻辑,但我无法做到这一点,因为我已经关闭了对我的云函数的公共访问,现在我无法获得如何验证调用的方法。 我尝试使用命令gcloud auth print identity token来获取ID\u token,但是这个ID\u token每次都会刷新,我不能反复使用它,所以每次尝试使用简单的API调用这个函数时,有没有办法生成ID\u token 或 还有别的办法解决我的问题吗 我尝试过的方法:- 我已经阅读了以下
gcloud auth print identity token
来获取ID\u token,但是这个ID\u token每次都会刷新,我不能反复使用它,所以每次尝试使用简单的API调用这个函数时,有没有办法生成ID\u token
或
还有别的办法解决我的问题吗
我尝试过的方法:-
我已经阅读了以下文件:-
我使用的是终端用户的访问方式,但这是一种通过使用浏览器登录生成访问令牌的方式,我希望通过代码完成所有操作,因为它将用作IVR(各种任务协助呼叫设施)的后端代码,在这种方法中,我们还获得访问令牌,而不是ID_令牌,然而,要调用函数,我们需要一个ID_令牌,而不是访问令牌
其次,我在google cloud shell上尝试了gcloud auth print identity token
命令,我使用我的google帐户登录了该命令,因此它生成了JWT令牌,我将其用作承载令牌,该功能正常工作,但我如何在GCP之外生成令牌或通过代码获得频繁间隔
我想要一种程序方式(NodeJS)来实现这一点,而不是UI方式,因为我需要将其与我的程序后端连接起来,而我在互联网上所经历的所有方式都是通过UI,并且没有一种程序方式用于外部GCP环境,所以我需要在这个场景上的帮助。正如John所说,您可以使用GoogleDoc代码示例执行URL调用:库生成一个安全HTTP客户端,以生成对端点的请求 如果您想生成令牌并自己使用它,您可以使用这段代码
const {GoogleAuth} = require('google-auth-library');
const auth = new GoogleAuth()
auth.getIdTokenClient("").then(client => {
client.idTokenProvider.fetchIdToken("audience").then(token => {
console.log(token)
})
})
是的,谷歌有几种语言的文档和示例。谷歌搜索。Stackoverflow有许多问题和答案。互联网上也可能有一百篇关于这个话题的指导性文章。展示你做过的研究。此外,你还可以做你尝试过的事情和你遇到的困难。有几种选择,分享你的安全限制(如果有的话)也很好嘿,@JohnHanley,我用我尝试过的两种方法更新了问题,你能帮我吗嘿,@guillaumeblaquiere,我用我尝试过的两种方法更新了问题,你能帮我解释一下这个Google has示例代码吗:这个代码生成的令牌不用于调用函数,我已经将调用者角色赋予了我用来生成令牌的服务帐户,你知道为什么吗?这个令牌用于我的私有云函数。您是否使用云函数URL更改了受众?您是否在
GOOGLE\u APPLICATION\u CREDENTIALS
环境变量中设置了服务帐户密钥文件路径?