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

问题描述 投票:0回答:1

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

gcloud auth print-identity-token [email protected] 

我想以编程方式获取此令牌。我尝试使用 google-auth-library 获取此令牌,但它将受众作为云函数 url。我想获得一个通用令牌来验证所有云功能,就像使用projectId作为受众一样。

有没有其他方法可以获取令牌,或者有没有办法获取服务帐户的通用令牌?

node.js google-cloud-platform access-token service-accounts google-auth-library
1个回答
1
投票

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

  • JWT 格式为:
    <header>.<body>.<signature>
  • 每个部分都是 Base 64 编码

因此,如果您解码

<body>
部分,您可以看到
aud
等于
32555940559.apps.googleusercontent.com

如果您生成其他 id 令牌,则可以重复使用此受众。


更新1

John 在评论中明智地提到,gcloud 默认受众就像 Google Cloud 实施的黑客攻击。对于该黑客攻击的未来,或任何进一步的速率限制,没有任何保证或承诺。

因此,将其用于测试、开发(和娱乐),但请记住,这不是调用服务的标准方法,并且将来可能会被破坏。

© www.soinside.com 2019 - 2024. All rights reserved.