Я пытаюсь реализовать 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: я учусь.