gpt4 book ai didi

使用凭据 token 的 Node.js 谷歌云存储身份验证

转载 作者:行者123 更新时间:2023-12-03 12:15:09 26 4
gpt4 key购买 nike

我正在尝试使用凭据 token 对谷歌云存储进行身份验证。
在 node.js GCS api 文档中的任何地方都找不到有关如何执行此操作的示例。
他们指示生成并下载一个包含您的私钥的 json 文件,然后链接到它在您的文件系统上的路径,如下所示:

const storage = new Storage({keyFilename: "key.json"});
这工作得很好。
但是我不想将我的 key 保存为 JSON 文件,而是创建凭据并将它们保存为环境变量,如下所示:
const gc = new Storage({
credentials: {
client_email: process.env.CLIENT_EMAIL,
private_key: process.env.SECRET_KEY
}
});
我尝试使用服务帐户 HMAC 访问 key 从存储桶的设置、互操作性菜单中获取此 token 。
I tried getting this token from the settings of the bucket, from the interoperability menu, using service account HMAC access keys
当我尝试使用上述身份验证方法从存储桶上传/删除文件时,出现以下错误:
错误:错误:0909006C:PEM 例程:get_name:无起始行
感谢您对此事的任何帮助

最佳答案

  • 错误
    错误:错误:0909006C:PEM 例程:get_name:无起始行

  • 实际上是因为我不久前下载了一个 dotenv ohmyzsh 插件而忘记了。很难调试。原来谷歌 key 中有\n 并且 ohmyzsh dotenv 插件未能正确解析它们。所以删除它对我有用。

  • 如果您使用 JSON api(您很可能是)这些是您需要进行身份验证的凭据,因此您可以获取相关信息并将其放入项目中的 .env 文件中,如果您不喜欢放置路径到json文件:
    const gc = new Storage({
    projectId: process.env.GOOGLE_STORAGE_PROJECT_ID,
    scopes: 'https://www.googleapis.com/auth/cloud-platform',
    credentials: {
    client_email: process.env.GOOGLE_STORAGE_EMAIL,
    private_key: process.env.GOOGLE_STORAGE_PRIVATE_KEY
    }
    })

  • 仍然不能 100% 确定如何使用 token + secret 进行身份验证。
    我正在接近答案,如果我找到它,我会在将来更新这篇文章。发布一个有用的链接: google-auth-library-nodejs希望有人能打败我 :)

    关于使用凭据 token 的 Node.js 谷歌云存储身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62538013/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com