В HTML на сайте, который я получил из документов здесь
<script src="https://accounts.google.com/gsi/client"></script>
<div
id="g_id_onload"
data-client_id={googleClientID}
data-login_uri='https://mytestdomain.appspot.com/google'
data-return_uri={uri}
></div>
Когда сайт загружается, он показывает мне приглашение продолжить работу с моей учетной записью Google, я нажмите продолжить, и он показывает, что я вошел в систему, веб-крюк вызывается, и я могу получить g_csrf_token
от повара ie
const fetch = require("node-fetch");
...
app.post("/google", function(req, res) {
const token = req.cookies.g_csrf_token;
console.log('-------------- token');
console.log(token);
const url = `https://oauth2.googleapis.com/tokeninfo?id_token=${token}`
const getData = async (url) => {
try {
const response = await fetch(url);
console.log('-------------- response');
console.log(response);
const json = await response.json();
console.log('-------------- json');
console.log(json);
res.status(200).send({ data });
} catch (error) {
console.log('-------------- error');
console.log(error);
res.status(400).send({ error });
}
};
if (token) getData(url);
res.status(200).send({ req });
});
Но когда я пытаюсь вызвать конечную точку информации токена, как подробно в документах здесь , я получаю ошибку
-------------- token
d7d07535919b8e26
-------------- response
Response {
size: 0,
timeout: 0,
[Symbol(Body internals)]: {
body: PassThrough {
_readableState: [ReadableState],
readable: true,
_events: [Object: null prototype],
_eventsCount: 5,
_maxListeners: undefined,
_writableState: [WritableState],
writable: true,
allowHalfOpen: true,
_transformState: [Object],
[Symbol(kCapture)]: false
},
disturbed: false,
error: null
},
[Symbol(Response internals)]: {
url: 'https://oauth2.googleapis.com/tokeninfo?id_token=d7d07535919b8e26',
status: 404,
statusText: 'Not Found',
headers: Headers { [Symbol(map)]: [Object: null prototype] },
counter: 0
}
}
В документах говорится, что я могу использовать GET или POST, я пробовал оба с одинаковым ответом на ошибку
Если я пытаюсь вызвать конечную точку в браузере, введя https://oauth2.googleapis.com/tokeninfo?id_token=d7d07535919b8e26
в адресную строку, я получаю ответ
{
"error": "invalid_token",
"error_description": "Invalid Value"
}
Так что это не токен в поваре ie от обратного вызова, который я должен использовать?