Как заставить работать приложение React + паспорт + Google OAuth 2.0 + всплывающее окно? - PullRequest
0 голосов
/ 18 марта 2020

Я хотел добавить аутентификацию Google в свое приложение React. Я добавил кнопку ( реагировать-google-login ), которая открывает всплывающее окно Google для входа пользователя с использованием учетных данных Google.

При входе в систему я передаю данные в конечную точку, и именно там я теряюсь (и в этом случае перенаправление отсутствует).

Что я должен делать? Я хотел бы использовать инфраструктуру паспортов и стратегию Google, чтобы получить пользователя из базы данных в соответствии с настройкой

passport.use(
  new GoogleStrategy(
    {
      clientID: process.env.REACT_APP_GOOGLE_CONSUMER_KEY,
      consumerSecret: process.env.GOOGLE_CONSUMER_SECRET
    },
    (token, tokenSecret, profile, done) => {
      User.findOrCreate({ googleId: profile.id }, function(err, user) {
        return done(err, user);
      });
    }
  )
);

Возможно, я смешал два понятия - паспорт и логин на стороне клиента и вызов REST API.

Я могу взять токен и написать некрасивый код, чтобы сделать то, что делает паспорт, но можно ли сделать это более простым способом?

Кроме того, еще один вопрос - как сохранить аутентифицированное состояние? Должен ли я отправить токен на предъявителя из ответа Google или использовать сеанс паспорта?

...