Chu*_*ega 2 google-cloud-platform google-signin
我有一个为 Android 客户端提供服务的后端,使用从 Android 应用程序发送的 IdToken 对它们进行身份验证。现在,我需要对在使用我的 api 的 aws 上运行的服务进行身份验证。所以我认为服务帐户可以解决这个问题,使用私有 pem 文件创建 IdToken 并像 Android 客户端一样发送它。但我找不到使用这些凭据获取 IdToken 的方法。这可能吗(最好在nodejs中)。或者我在这里走错路了?
我知道这个问题比较旧,但我发现了这个问题,但它并没有让我找到最终的答案。
我按照https://cloud.google.com/endpoints/docs/openapi/service-account-authentication#using_a_google_id_token中的指南与https://cloud.google.com/iap/docs/authentication-howto的一些组合进行操作,其中提到,关键是target_audience在生成的 JWT 中包含声明。
所以,本质上我制作了一个 JWT,如下所示:
{
"exp": 1547576771,
"iat": 1547575906,
"aud":"https://www.googleapis.com/oauth2/v4/token",
"target_audience": "https://example.com/",
"iss": EMAIL OF SERVICE ACCOUNT
}
Run Code Online (Sandbox Code Playgroud)
并将其发布到https://www.googleapis.com/oauth2/v4/tokenparamsgrant_type=urn:ietf:params:oauth:grant-type:jwt-bearer和assertion=<THE JWT>
没有target_audience端点给了我一个访问令牌,但有了它我得到了一个id_token。
| 归档时间: |
|
| 查看次数: |
3686 次 |
| 最近记录: |