Как интегрировать фейсбук-паспорт в приложение реакции с Express API?

Я создал сервер экспресс-API, который работает на локальном хосте: 5000 с приложением реагирования на локальном хосте: 3000. Сейчас я пытаюсь интегрировать аутентификацию Facebook.

Я следовал руководству Scotch по аутентификации с использованием паспорта, чтобы интегрировать аутентификацию facebook в моем собственном приложении. Я клонировал его репо, настроил логин на Facebook для разработчиков на фейсбуке и он работает правильно. Используя его пример, я попытался настроить этот поток в своем приложении, но безуспешно. В консоли Firefox я заметил одно отличие - когда я нажимаю "Войти через Facebook" в приложении Scotch, появляется 3 запроса:

  1. HTTP: // локальный: 8080 / авториз / facebook
  2. https://www.facebook.com/dialog/oauth?response_type=code&redirect_uri=http://localhost:8080/auth/facebook/callback&scope=public_profile,email&client_id=CLIENT_ID
  3. http://localhost:8080/auth/facebook/callback?code=A_LOT_OF_CHARS

В моем приложении:

  1. HTTP: // локальный: 5000 / авт / facebook
  2. https://www.facebook.com/dialog/oauth?response_type=code&redirect_uri=http://localhost:5000/api/oauth/facebook/callback&scope=public_profile,email&client_id=CLIENT_ID
  3. https://www.facebook.com/v2.12/dialog/oauth?redirect_uri=http%3A%2F%2Flocalhost%3A5000%2Fapi%2Foauth%2Ffacebook%2Fcallback

Таким образом, есть разница в третьем запросе - Скотч перенаправляет на свой обратный вызов, но в моем приложении я получил ссылку на сообщение

Параметр app_id является обязательным

на странице в фейсбуке.

Как мне настроить реакцию, чтобы она работала?

1 ответ

У вас еще есть маршрут перенаправления в вашем экспресс-приложении? Что-то вроде этого.

app.get('/auth/facebook/callback',
  passport.authenticate('facebook', { failureRedirect: '/login' }),
  function(req, res) {
    // Successful authentication, redirect home.
    res.redirect('/');
 });

Вы можете прочитать документацию здесь https://github.com/jaredhanson/passport-facebook если вы все еще застряли. Надеюсь, поможет

Другие вопросы по тегам