Как добавить аутентификацию JWT с помощью passport-steam - PullRequest
1 голос
/ 29 октября 2019

Простое приложение mern с аутентификацией JWT ( здесь ) установлено с использованием приставки и создания-реакции-приложения. Я хочу добавить passport-steam в качестве метода аутентификации, однако я не уверен, как справиться с добавлением JWT в стратегию passport-steam. Вот что у меня есть:

// Steam
router.get('/steam', passport.authenticate('steam', { session: false }));

router.get(
  '/steam/return',
  passport.authenticate('steam', { session: false }),
  (req, res) => {
    const user = req.user
    jwt.sign(
      { id: user.id },
      'JWT_secret',
      { expiresIn: '2h' },
      (err, token) => {
        if (err) throw err;
        res.json({
          user: user,
          token,
        });
      }
    );
    res.redirect('/')
  }
)

Использование стратегии Steam по умолчанию. Это работает, и пользовательские данные добавляются в БД, но в локальном хранилище нет токена. Я не уверен, как это сделать с помощью steam, так как я не отправляю действие / не уверен, смогу ли я. Нужно ли проходить аутентификацию через Steam, захватывать и сохранять данные в базе данных, а затем отправлять другое действие, чтобы получить их и добавить JWT, или есть лучший способ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...