有没有办法在nodejs中为默认服务帐户获取通用令牌?

hgc7kmma  于 2023-08-04  发布在  Node.js
关注(0)|答案(1)|浏览(65)

我想获取默认服务帐户的通用令牌。我已经使用下面的命令来获取令牌了

gcloud auth print-identity-token projectId@appspot.gserviceaccount.com

字符串
我想以编程方式获取此令牌。我尝试使用google-auth-library获取此令牌,但它将受众作为云函数url。我想得到一个通用的令牌来验证所有的云函数,比如使用projectId作为观众。
是否有其他方法可以获取令牌,或者是否有方法可以获取服务帐户的通用令牌?

jyztefdp

jyztefdp1#

如果你知道JWT是如何构建的,你可以自己提取受众。

  • JWT格式是:第一个月
  • 每个部分都是以64进制编码的

因此,如果对<body>部分进行解码,可以看到aud等于32555940559.apps.googleusercontent.com
如果您的其他ID标记生成,则可以重用此受众。

更新1

正如John在评论中明智地提到的那样,gcloud默认受众就像Google Cloud实现的黑客一样。没有任何保证或承诺的未来,黑客,或任何进一步的利率限制的限制。
因此,可以将其用于测试、开发(和娱乐),但请记住,这不是调用服务的标准方式,将来可能会被打破。

相关问题