google oauth2如何获取服务帐户的私钥

时间:2013-12-05 23:41:34

标签: java json oauth-2.0 google-oauth

有人可以告诉我如何从服务帐户的谷歌云控制台下载证书。我正在寻找各地。我已经下载了应用程序授权凭证" client_secret.json"

client_secret.json有一个键" client_x509_cert_url"把我带到json文件的密钥,该文件中嵌入了2个证书。这是证书吗?如果它们是如何在java代码中使用它。 我在这里有点迷失。

3 个答案:

答案 0 :(得分:13)

更新(2013-12-18): Google今天早上更新了云端控制台。生成私钥的新指令是:

  1. 打开您的项目。
  2. 转到" API&验证"
  3. 转到"凭据"。
  4. 点击"创建新客户ID"。
  5. 选择"服务帐户"。
  6. 过时的说明(2013-12-18之前): 以下是在Google云端控制台中生成私钥的方法:

    1. 打开您的项目。
    2. 转到" API&验证"
    3. 转到"已注册的应用"。
    4. 点击"注册应用"。
    5. 选择" Web应用程序"。
    6. 打开"证书"。
    7. 点击"生成证书"。
    8. 点击"下载私钥"。
    9. 点击"查看公钥"解雇对话。
    10. JSON中的URL会将您带到一个公共URL,在该公共URL中可以找到相应私钥的公钥 - 这不是您要查找的内容。

答案 1 :(得分:2)

在 gcloud 中打开您的项目

转到“API 和服务”

转到“凭据”。

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

选择“服务帐户”。

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

根据需要选择 JSON 或 P12

答案 2 :(得分:2)

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