У меня есть бот в NodeJS, подключенный к Google Chat с использованием конечных точек HTTP.Я использую экспресс для получения запросов.Мне нужно убедиться, что все запросы поступают от Google, и хочу сделать это с помощью токена на предъявителя, который Google отправляет вместе с запросами.
Моя проблема в том, что я изо всех сил пытаюсь найти способ проверить токены.
Я захватил токен и попытался выполнить GET: https://oauth2.googleapis.com/tokeninfo?id_token=ey... (где ey ... - начало токена).
Что возвращает:
"error": "invalid_token",
"error_description": "Invalid Value"
}
Я попробовал то, что рекомендует Google:
var token = req.headers.authorization.split(/[ ]+/);
client.verifyIdToken({
idToken: token[1],
audience: JSON.parse(process.env.valid_client_ids)
}).then((ticket) => {
gchatHandler.handleGChat(req.body, res);
}).catch(console.error);
И получил следующую ошибку:
Ошибка: не найден pem для конверта: {"alg": "RS256", "kid":" d ... 1 "," typ ":" JWT "}
Есть идеи, куда мне отправиться отсюда?
Редактировать: https://www.googleapis.com/service_accounts/v1/metadata/x509/chat@system.gserviceaccount.com нашел это,исследуя, как его использовать.Ребенок соответствует тому, что я получаю.