You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需私钥连接Google服务账号?能否使用公钥完成认证?

Google服务账号认证:公钥相关问题解答

能否仅通过公钥完成认证?

不行。Google服务账号的认证基于OAuth 2.0的JWT签名流程,必须使用私钥生成带有签名的JWT,以此向Google令牌服务器请求访问令牌。公钥的作用只是让Google验证你提交的JWT签名是否合法,它本身无法生成有效的签名,所以仅靠公钥无法完成认证流程,私钥是必不可少的。

如何修改JSON凭据文件添加公钥及公钥ID?

虽然不能用公钥替代私钥,但可以在服务账号的JSON凭据文件中添加public_key和public_key_id字段,用于一些需要公开验证身份的场景。修改后的JSON格式示例如下:

{
  "type": "service_account",
  "project_id": "project-name",
  "private_key_id": "...",
  "private_key": "-----BEGIN PRIVATE KEY-----\n...----END PRIVATE KEY-----\n",
  "public_key_id": "你的公钥ID",
  "public_key": "-----BEGIN PUBLIC KEY-----\n...----END PUBLIC KEY-----\n",
  "client_email": "client-email@project-name.iam.gserviceaccount.com",
  "client_id": "client-id",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/doh-21%40doh-14.iam.gserviceaccount.com",
  "universe_domain": "googleapis.com"
}

需要注意的是,添加这些公钥字段不会改变认证的核心逻辑,私钥依然是完成认证的必要条件。

内容的提问来源于stack exchange,提问作者Sunny League

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 19:07:16