У меня есть приложение, в котором я использую passportjs для аутентификации моих пользователей через Oauth.Процесс аутентификации обрабатывается passportjs, в котором мы регистрируем пользователя, если он существует, если нет, мы сохраняем пользователя в db, а затем регистрируем пользователя.
Strategy
используется здесь GithubStrategy
.
То, что я хочу в OAuth, это токен доступа , возвращаемый во время инициации стратегии, который поставляется примерно так:
passport.use(new GitHubStrategy(passportConfig, (accessToken, refreshToken, profile, done) => {
Я пытался хранит токен доступа в БД и пытался использовать этот токен доступа всякий раз, когда я хотел сделать api-запрос на github, но проблема здесь в том, что срок действия токена доступа истекает через некоторое время или отличается. Если я снова войду в систему.Таким образом, мой запрос является недействительным / несанкционированным.
passport.use(new GitHubStrategy(passportConfig, (accessToken, refreshToken, profile, done) => {
console.log('accesstoken is here', accessToken)
console.log("refreshToken is here", refreshToken)
// check if user exists in db
// if not save the user in db
// Should access token be stored in the db?!
}))
Я хочу сохранить / использовать токен доступа таким образом, чтобы, даже если срок его действия истек / заменен токеном обновления, он будетобновиться, и я все еще могу использовать это, чтобы сделать запрос API.