Я настроил поток oauth2 для использования API Google с refresh_token.
Я использую библиотеку nodejs для отправки запросов. Я сохраняю полный токен (обновление + доступ) в базе данных и передаю его в библиотеку. Теперь каждый раз, когда срок действия токена доступа истекает, библиотека автоматически обновляет его, используя предоставленный refresh_token.
Вопрос в следующем: поскольку библиотека автоматически обновляет токен, когда это необходимо, как я могу получить этот обновленный токен обновления, чтобы я мог передавать его в последующих вызовах?
Я понимаю, что могу сам вызвать вызов «refreshToken», но пока библиотека делает это автоматически, когда это необходимо, могу ли я сразу получить доступ к обновленному токену?
Думаю, я видел что-то подобное в документации (чтобы установить своего рода слушателя при обновлении токена?), но больше не могу найти.
Наконец-то снова нашел часть документа, где показано, как прослушивать истечение срока действия токена:
Handling refresh tokens
Access tokens expire. This library will automatically use a refresh token to obtain a new access token if it is about to expire. An easy way to make sure you always store the most recent tokens is to use the tokens event:
oauth2Client.on('tokens', (tokens) => {
if (tokens.refresh_token) {
// store the refresh_token in my database!
console.info(tokens.refresh_token);
}
console.info(tokens.access_token);
});