Почему я получаю эту ошибку ответа Facebook Passport oauth2? - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь интегрировать вход через Facebook в свое приложение с помощью паспорта (node js). Я вижу свое приложение при перенаправлении на facebook, и я могу принять его, и при перенаправлении я получаю эту ошибку: переданный код неверен или просрочен.

Мой код:


        passport.use(new FacebookStrategy({
                clientID: process.env.FACEBOOK_APP_ID || '',
                clientSecret: process.env.FACEBOOK_APP_SECRET || '',
                callbackURL: hostUrl + "/api/auth/facebook/callback"
            },
            async function(accessToken, refreshToken, profile, cb) {
               console.log(profile);
            }
        ));

// PassportService.ts
    public static redirectToHomepage(req: Request, res: Response) {
        if (req.user) {
            const user: any = req.user;
            const token = jwt.sign({userId: user.id}, process.env.JWT_SECRET || 'abc');
            res.redirect('/?token='+token);
        }

    }

    public static authenticateFacebook(req: Request, res: Response, next: NextFunction) {
        passport.authenticate('facebook')(req, res, next);
    }

    public static authenticateFacebookCallback(req: Request, res: Response, next: NextFunction) {
        passport.authenticate('facebook', { failureRedirect: '/auth/login' })(req, res, next);
    }

//routes.ts. endpoint: /api/auth
router.get('/facebook', PassportService.authenticateFacebook);
router.get('/facebook/callback', PassportService.authenticateGithubCallback, PassportService.redirectToHomepage);

1 Ответ

0 голосов
/ 06 августа 2020

Теперь я вижу проблему. мой маршрут /facebook/callback вызывал PassportService.authenticateGithubCallback. Я изменил его на Facebook Callback, и теперь он работает.

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