Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 您如何在不使用flash的情况下访问passport的done methods/react应用程序中的消息?_Javascript_Reactjs_Express_Passport.js_Connect Flash - Fatal编程技术网

Javascript 您如何在不使用flash的情况下访问passport的done methods/react应用程序中的消息?

Javascript 您如何在不使用flash的情况下访问passport的done methods/react应用程序中的消息?,javascript,reactjs,express,passport.js,connect-flash,Javascript,Reactjs,Express,Passport.js,Connect Flash,[更新]问题现在包含了必要的细节,因为作者成功地找到了解决方案,因此应该重新打开以获得答案 标题中的问题。是否有办法在后端(express)中使用connect flash,以便在前端react应用程序中访问消息 我的passport本地策略,我使用的是sqlite数据库: passport.use( new LocalStrategy({ usernameField: 'name' }, (name, password, done) => {

[更新]问题现在包含了必要的细节,因为作者成功地找到了解决方案,因此应该重新打开以获得答案

标题中的问题。是否有办法在后端(express)中使用connect flash,以便在前端react应用程序中访问消息

我的passport本地策略,我使用的是sqlite数据库:

 passport.use(
        new LocalStrategy({ usernameField: 'name' },
        (name, password, done) => {
            //Match user
            db.get(`SELECT * FROM Users WHERE name = '${name}'`, (err, user) => {
                if(err) throw err;
                if(!user) {
                    return done(null, false, { msg : 'name not registered' });
                }
                //Match password
                bcrypt.compare(password, user.password, (err, isMatch) => {
                    if(err) throw Error;
                    if(isMatch) {
                        done(null, user);
                    } else {
                        done(null, false, { msg : 'Password incorrect' })
                    }
                });
            })
        })
    );
和我的/登录路径:

//Login Handle
usersRouter.post('/login', passport.authenticate('local'), (req, res ) => {
    res.json('Successfully authenticated.')
    }
);
我了解到我可以在对象中向该路由添加选项,包括

{
    failureFlash: true
}

但我只是不知道如何访问react前端中的消息(存储在req.flash中?)。

是的。你能分享你定义护照策略的代码吗?当然可以!我编辑了问题,对不起!以及在何处使用passports身份验证功能?还添加了:D请阅读本文档中的验证回拨部分。我很乐意帮助你编写代码,但我想你希望了解这该死的东西是如何工作的。