小编hen*_*123的帖子

Express JS使用cookie重定向,不存在cookie

因此,我已经使用Passport-js实现了Facebook登录。我还实现了Cookie策略,以使用良好的ole用户名/密码登录。我的设置是Express-js后端和React前端。后端和前端在不同的服务器和域(backend-client.com,frontend-client.com)上运行。

一切都像在localhost上一样具有吸引力,但在舞台和生产环境中却没有。不知道这是否重要,但我正在使用Heroku托管应用程序。

问题:

Facebook身份验证完成后,Express服务器会将用户重定向到前端应用程序。cookie是一个JWT,其中包含用于检查用户是否登录的用户信息。

const cookieSettings = {
    domain: process.env.COOKIE_DOMAIN,
    secure : (process.env.APP_MODE === 'local' ? false  : true),
    httpOnly : true,
};

const cookieMaxAge = {
    maxAge : 14 * 24 * 60 * 60 * 1000 // 14 days, 24h, 60 min, 60 sec * miliseconds
}

router.get('/auth/facebook/', passport.authenticate('facebook'));
router.get('/auth/facebook/callback', function(req, res, next) {
    passport.authenticate('facebook', async function (err, profile, info) {
        if (err || !profile) {
            res.redirect(`${process.env.FRONTEND_BASE_URL}?success=0`);
        }
        const user = await User.findOne({ facebookId : profile.facebookId });
        return …
Run Code Online (Sandbox Code Playgroud)

javascript cookies heroku express

4
推荐指数
1
解决办法
335
查看次数

标签 统计

cookies ×1

express ×1

heroku ×1

javascript ×1