Как использовать токен доступа от Github в passportjs для выполнения вызовов API? - PullRequest
0 голосов
/ 20 июня 2019

У меня есть приложение, в котором я использую 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.

...