Google слайды api, токен jwt

Я пытаюсь реализовать Google аутентификацию между серверами с использованием oAuth. Для этого я создал учетные данные в соответствии с упомянутыми шагами, и Google дал мне файл 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": "[email protected]",
    "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"
  }

Я использовал «private_key» в jwt.io, как показано на изображении ниже, но он показывает «Неверная подпись», потому что только сервер, который предоставил мне закрытый ключ (google), может проверить, является ли его действительным токеном? Если это так, то когда я запускаю вызов curl, я получаю еще одну ошибку.

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

Что мне не хватает? Я даже не уверен, неправильно ли я сделал токен JWT или есть какая-то другая проблема. PS: я учусь.

Изображение


person devp    schedule 29.09.2017    source источник
comment
Какой язык вы используете? Можете ли вы показать свой код?   -  person Bertrand Martel    schedule 30.09.2017
comment
Во-первых, пожалуйста, проверьте проблему синхронизации с часами сервера, дополнительную информацию см. в ответе плохая синхронизация часов компьютера. Во-вторых, проверьте обработку токена обновления и старых токенов. Некоторые потоки включают дополнительные шаги, например использование маркеров обновления для получения новых маркеров доступа. Вы также можете проверить мой ответ на соответствующий порт SO по этой проблеме. Надеюсь это поможет   -  person Mr.Rebot    schedule 30.09.2017