0

我正在尝试使用 oAuth 实现谷歌服务器到服务器的身份验证 为此我根据提到的步骤生成了凭据,他们谷歌给了我带有以下详细信息的 json 文件

  // this is sample data not real data
  {
    "type": "service_account",
    "project_id": "myapp",
    "private_key_id": "17af28d89ef88g59e9c44a51csf00f894c23",
    "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCYTyEAeQxHUP66[OTHER TEXT REMOVED]n-----END PRIVATE KEY-----\n",
    "client_email": "someemailname@projectname.iam.gserviceaccount.com",
    "client_id": "3246344567234535",
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://accounts.google.com/o/oauth2/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/meshpresentations%40meshslides.iam.gserviceaccount.com"
  }

我在 jwt.io 中使用了“private_key”,如下图所示,但它显示“无效签名”,是因为只有提供我私钥的服务器(谷歌)才能验证它是否是有效令牌?如果是这样,当我发出 curl 呼叫时,我会收到另一个错误。

{
   “error”: “invalid_grant”,
   “error_description”: “Invalid JWT: Token must be a short-lived token and in a reasonable timeframe”
}

我错过了什么?我什至不确定我是否错误地制作了 JWT 令牌或存在其他问题。PS:我是一名学习者。

图片

4

0 回答 0