Паспорт 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);
}
)
);
Попробуй это