问题标签 [google-cloud-node]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
973 浏览

google-cloud-functions - 如何使用 node.js 客户端对 Cloud Function 进行身份验证

我有一个在 GKE 中运行的 node.js 应用程序,它需要能够对云函数进行服务器到服务器调用,该函数的权限配置为仅允许在 GKE pod 上配置的服务帐户调用它。所以基本上,node.js 有一个环境变量GOOGLE_APPLICATION_CREDENTIALS指向安装在卷上的凭证密钥 json 文件。

同样对于本地开发,如果它只使用存储在 gcloud sdk 配置中的我的用户帐户凭据,那就太好了。

我已经弄清楚如何使用服务帐户凭据进行身份验证。下面是代码,假设GOOGLE_APPLICATION_CREDENTIALS环境变量包含凭证密钥 json 文件的路径:

这种方式略有不同:

但是我仍然不确定如何在本地开发中使用用户帐户凭据来执行此操作。最接近的解决方案是使用cURL

所以有一种方法,但我该如何在javascript中做到这一点?

0 投票
1 回答
282 浏览

node.js - 错误“无法加载共享库”api google vms

我正在与google api集成来管理vms,使用的代码:

我得到的错误:

node:internal/crypto/sig:131 const ret = this[kHandle].sign(data, format, type, passphrase, rsaPadding, ^

错误:错误:25078067:DSO 支持例程:win32_load:could not load the shared library at Sign.sign (node:internal/crypto/sig:131:29) at Object.sign (C:\Users\Mauricio Spagnol\workspace\ workBrightCloud\Bright Cloud Web Portal\backend\node_modules\jwa\index.js:152:45) 在 Object.jwsSign [as sign] (C:\Users\Mauricio Spagnol\workspace\workBrightCloud\Bright Cloud Web Portal\backend\node_modules \jws\lib\sign-stream.js:32:24) 在 GoogleToken.requestToken (C:\Users\Mauricio Spagnol\workspace\workBrightCloud\Bright Cloud Web Portal\backend\node_modules\gtoken\build\src\index.js :225:31) 在 GoogleToken.getTokenAsyncInner (C:\Users\Mauricio Spagnol\workspace\workBrightCloud\Bright Cloud Web Portal\backend\node_modules\gtoken\build\src\index.js:163:21) 在 GoogleToken.getTokenAsync ( C:\Users\Mauricio Spagnol\workspace\workBrightCloud\Bright Cloud Web Portal\backend\node_modules\gtoken\build\src\index.js:142:55) 在 GoogleToken.getToken (C:\Users\Mauricio Spagnol\workspace\workBrightCloud\ Bright Cloud Web Portal\backend\node_modules\gtoken\build\src\index.js:94:21) 在 JWT.refreshTokenNoCache (C:\Users\Mauricio Spagnol\workspace\workBrightCloud\Bright Cloud Web Portal\backend\node_modules\google -auth-library\build\src\auth\jwtclient.js:171:36) 在 JWT.refreshToken (C:\Users\Mauricio Spagnol\workspace\workBrightCloud\Bright Cloud Web Portal\backend\node_modules\google-auth-library \build\src\auth\oauth2client.js:152:24) 在 JWT.getRequestMetadataAsync (C:\Users\Mauricio Spagnol\workspace\workBrightCloud\Bright Cloud Web Portal\backend\node_modules\google-auth-library\build\src \auth\oauth2client.js:284:28) { opensslErrorStack: [ '错误:0E076071:配置文件例程:module_run:未知模块名称','错误:0E07506E:配置文件例程:module_load_dso:错误加载dso','错误:25070067:DSO支持例程:DSO_load:无法加载共享库'] ,库:'DSO 支持例程',函数:'win32_load',原因:'无法加载共享库',代码:'ERR_OSSL_DSO_COULD_NOT_LOAD_THE_SHARED_LIBRARY'} 错误命令失败,退出代码 1。信息访问无法加载共享库',代码:'ERR_OSSL_DSO_COULD_NOT_LOAD_THE_SHARED_LIBRARY'} 错误命令失败,退出代码为 1。信息访问无法加载共享库',代码:'ERR_OSSL_DSO_COULD_NOT_LOAD_THE_SHARED_LIBRARY'} 错误命令失败,退出代码为 1。信息访问https://yarnpkg.com/en/docs/cli/run获取有关此命令的文档。