Я использую паспорт для аутентификации пользователя в моем приложении
Я создал стратегию паспорта для той же
passport.use(new GoogleStrategy({
clientID: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
callbackURL: process.env.GOOGLE_CALLBACK_URL,
userProfileURL: 'https://www.googleapis.com/oauth2/v3/userinfo',
accessType: 'offline'
}, (accessToken, refreshToken, profile, cb) => {
console.log(refreshToken)
let profileSort = extractProfile(profile)
mongooeHelperFunction.findUserByEmail(profileSort.email).then(response => {
if (!response) {
mongooeHelperFunction.createNewUser(profileSort)
.then(res => {
let newRes = {...res}
newRes["accessToken"] = accessToken
cb(null, newRes)
})
.catch(error => { throw error })
} else {
let newRes = {...response}
newRes["accessToken"] = accessToken
cb(null, newRes)
}
})
.catch(error => { throw error })
}
))
(вышеприведенное очень похоже на стратегию паспорта, которую мы обычно создаем)
Чтобы получить токен обновления выше, я делаю это в своем маршруте API
router.get("/google", passport.authenticate('google', {accessType: 'offline', prompt: 'consent', scope: ['profile', 'email', 'https://mail.google.com/' ] }));
Вопрос: Это дает мне токен доступа.Как я могу узнать, когда истечет срок действия токена доступа?
Моя первоначальная цель - получить новый токен доступа с помощью токена обновления при каждом истечении срока действия токена доступа.
Кто-нибудь может мне помочь, как мне этого добиться?