Паспорт facebook токен Oauth2 выдает внутренние ошибки сервера, когда токен исправен, но работает нормально, если токен неверен

Что мне здесь не хватает? Я пролистал все темы и некоторое время гуглил:

  • Внесены в белый список IP-адреса моей машины в дополнительных настройках приложений.
  • Дважды проверил токен, и когда он истек, я вижу эту ошибку на консоли.
  • Дважды проверил клиента + секрет + происхождение в приложении
  • Попробовал вещи с помощью Google OAUT токена, и я получил "несанкционированный", как и предполагалось.

Но когда все хорошо, и я отправляю запрос с этим хорошим токеном либо от Почтальона, либо от моего внешнего интерфейса, я получаю Внутреннюю ошибку сервера, сообщающую, что пользователь не определен в этой строке. Что мне не хватает?

Код маршрута:

app.get(
  '/user',
  passport.authenticate('facebook-token', { session: false }),
  function(req, res) {
    res.send('SUCCESS');
  }
);

Весь другой код без импорта:

app.use(cors());
app.use(express.json());
app.use(helmet());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(passport.initialize());
passport.use(
  new FacebookTokenStrategy(
    {
      clientID: config.get('facebook.clientID'),
      clientSecret: config.get('facebook.clientSecret')
    },
    function(accessToken, refreshToken, profile, done) {
      User.findOrCreate({ facebookId: profile.id }, function(error, user) {
        return done(error, user);
      });
    }
  )
);

и я импортирую пакет npm точно так же, как в документации:

const FacebookTokenStrategy = require('passport-facebook-token');

У меня нет идей по этому вопросу.

1 ответ

Решение
app.use(cors());
app.use(express.json());
app.use(helmet());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(passport.initialize());
passport.use(
  new FacebookTokenStrategy(
    {
      clientID: config.get('facebook.clientID'),
      clientSecret: config.get('facebook.clientSecret')
    },
    function(accessToken, refreshToken, profile, done) {
      return done(null, profile);
    }
  )
);

Попробуй это

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