未知身份验证策略“本地”

GhoSTBG

我正在尝试对我的网站上的用户进行身份验证,但出现此错误

未知的身份验证策略“本地登录”

我尝试更改策略的名称,也读过SO中的其他线程,但没有找到解决方案。

// Passport
module.exports = function(passport) {
    passport.serializeUser(function(user, done) {
    done(null, user.id);
});

passport.deserializeUser(function(id, done) {
    connection.query('SELECT * FROM `users` WHERE `id` = ' + connection.escape(id), function(err, rows) {
        done(err, rows[0]);
    });
});

passport.use('local-login', new LocalStrategy({
    usernameField : 'username',
    passwordField : 'password'
},
function(req, username, password, done) {
    connection.query('SELECT * FROM `users` WHERE `username` = ' + connection.escape(username), function(err, rows) {
        if(err)
            return done(err);
        if(!rows.length) {
            return done(null, false, req.flash('loginMessage', 'Invalid username or password. Please try again.'));
        }
        if(!(rows[0].password == password))
            return done(null, false, req.flash('loginMessage', 'Invalid username or password. Please try again.'));

        return done(null, rows[0]);
    });
  }));
}

// Express Router
app.use(sessionMiddleware);
app.use(passport.initialize());
app.use(passport.session());
app.use(flash());
app.use('/static', express.static('./static'));

app.post('/login/auth', passport.authenticate('local-login', {
    successRedirect: '/dashboard',
    failureRedirect: '/',
    failureFlash: true
}));
Gokcand

首先使用以下命令检查安装:

npm install passport passport-local --save

然后输入护照如下:

const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;

在您的app.use()方法之前

...
..
app.use(passport.initialize());
app.use(passport.session());

然后按如下方式使用它。(无需将“ local-login”作为第一个参数)

passport.use(new LocalStrategy({
    usernameField : 'username',
    passwordField : 'password'
}, (req, username, password, done) => {
     // Your logic here...
       ...
       .. 
  }));
}

最后在您的路由器中:

app.post('/login/auth', passport.authenticate('local', { 
    successRedirect: '/dashboard', 
    failureRedirect: '/', 
    failureFlash: true }),
 function(req, res) {
    res.redirect('/');
 });

更多信息:本地护照

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

护照:未知身份验证策略“本地”

护照 未知的身份验证策略“本地”、“脸书”、“谷歌”

未知身份验证策略护照

未知身份验证Facebook策略-PassportJS

未知的身份验证策略“github”

收到“错误”:“未知身份验证策略“ jwt””

错误:未知的身份验证策略“ [对象对象]”

节点 Passport-azure-ad 错误:“未知的身份验证策略“oauth-bearer””

NodeJS Passport本地策略通知客户端用户已通过身份验证

使用什么身份验证策略?

正确的 API 身份验证策略

Next.js身份验证策略

用户使用身份验证方案的策略中缺少身份

反应本地Firebase身份验证搜索

无法安装waterlock本地身份验证

反应本地Firebase身份验证

使用Devise进行Rails应用程序本地和远程身份验证(两种策略)

使用PassportJS,如何将其他表单字段传递给本地身份验证策略?

ASPNET Core 2中的自定义策略身份验证(jwt身份验证)

在 Istio 中正确定义 mTLS 身份验证策略

使用API密钥策略的Lumen API身份验证

macOS客户端的身份验证和策略管理

Azure托管身份本地调试身份验证失败

无需本地用户身份验证本地用户

本地护照和本地猫鼬的身份验证错误

当我在nestjs中将另一个服务注入用户服务时如何修复未知的身份验证策略“jwt”

对象类型未知,AWS Cognito 身份验证

su:基础身份验证模块未知的用户

Firebase身份验证漏洞。Firebase中的未知用户