【问题标题】:google oauth2 how to get private key for service accountgoogle oauth2 如何获取服务帐户的私钥
【发布时间】:2013-12-05 23:41:33
【问题描述】:

谁能告诉我如何从谷歌云控制台下载服务帐户的证书。我正在到处寻找。我已经下载了应用授权凭证“client_secret.json”

client_secret.json 有一个密钥“client_x509_cert_url”密钥,它将我带到其中嵌入了 2 个证书的 json 文件。这是证书吗?如果他们是我如何在java代码中使用它。 我有点迷路了。

【问题讨论】:

    标签: java json oauth-2.0 google-oauth


    【解决方案1】:

    更新(2013-12-18): 谷歌今天早上更新了 Cloud Console。生成私钥的新说明是:

    1. 打开您的项目。
    2. 转到“API 和身份验证”。
    3. 转到“凭据”。
    4. 点击“创建新的客户端 ID”。
    5. 选择“服务帐号”。

    过时的说明(2013-12-18 之前): 以下是在 Google Cloud Console 中生成私钥的方法:

    1. 打开您的项目。
    2. 转到“API 和身份验证”。
    3. 转到“已注册的应用”。
    4. 点击“注册应用”。
    5. 选择“Web 应用程序”。
    6. 打开“证书”。
    7. 点击“生成证书”。
    8. 点击“下载私钥”。
    9. 点击“查看公钥”关闭对话框。

    JSON 中的 URL 会将您带到一个公共 URL,在该公共 URL 中可以找到对应私钥的公钥 - 这不是您要查找的内容。

    【讨论】:

    • 你能分享一个使用私钥的例子吗?我切换到使用服务帐户,因为我的刷新令牌每 7 天到期...
    【解决方案2】:

    在 gcloud 中打开您的项目

    转到“API 和服务”

    转到“凭据”。

    点击“创建新的客户端 ID”或转到服务帐户(如果已创建)。

    选择“服务帐号”。

    转到“密钥”并从“添加密钥”下拉菜单中选择“创建新密钥”

    根据需要选择 JSON 或 P12

    【讨论】:

      【解决方案3】:

      private_key 类似于

      "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCxrDY54c6zXbPl\n47hElulfTBHWbI/03n/3ZwVhuaVnips11KyDImSdUH\n-----END PRIVATE KEY-----\n
      

      我应该在使用前删除“\n”吗?现在,我正在尝试使用 SHA256withRSA 对输入的 UTF-8 表示进行签名,因此此文档 https://developers.google.com/identity/protocols/oauth2/service-account#httprest

      如果这里的回答有问题请指正JWT Computing the Signature SHA256withRSA

      【讨论】:

      • 这里有同样的问题。
      猜你喜欢
      • 1970-01-01
      • 2014-09-22
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      • 2018-06-17
      • 2016-06-08
      • 2014-06-23
      相关资源
      最近更新 更多