我想获取默认服务帐户的通用令牌。 我已经使用以下命令来获取令牌来获取令牌
gcloud auth print-identity-token [email protected]
我想以编程方式获取此令牌。我尝试使用 google-auth-library 获取此令牌,但它将受众作为云函数 url。我想获得一个通用令牌来验证所有云功能,就像使用projectId作为受众一样。
有没有其他方法可以获取令牌,或者有没有办法获取服务帐户的通用令牌?
如果你知道 JWT 是如何构建的,你可以自己提取受众。
<header>.<body>.<signature>
因此,如果您解码
<body>
部分,您可以看到 aud
等于 32555940559.apps.googleusercontent.com
如果您生成其他 id 令牌,则可以重复使用此受众。
更新1
John 在评论中明智地提到,gcloud 默认受众就像 Google Cloud 实施的黑客攻击。对于该黑客攻击的未来,或任何进一步的速率限制,没有任何保证或承诺。
因此,将其用于测试、开发(和娱乐),但请记住,这不是调用服务的标准方法,并且将来可能会被破坏。