护照.js本地战略逻辑
Passport.js LocalStrategy logic
我想了解LocalStrategy是如何工作的。
这是我的服务器文件的一部分:
var passport = require('passport');
var express = require('express');
/* other initializations */
var app = express();
passport.use = new LocalStrategy(
function(email, password, done) {
module.exports.findByUsername(email, function(err, user){
if (err) throw err;
if(!user) {
done(null, false, { message: 'Incorrect username.' });
}
else if(user.password != password) {
done(null, false, { message: 'Incorrect password.' });
}
else {
return done(null, user);
}
});
}
)
app.post("/login"
, passport.authenticate('local',{
successRedirect : "/",
failureRedirect : "/login",
}) ,
function(){
console.log("post /login");
}
);
现在,从客户端浏览器,我正在向http://localhost:8000/login
发送 http post 请求。如果身份验证成功,则用户将被重定向到根页面"/"
如果失败,用户将再次被重定向到登录页面。
问题是,当我们定义一个新的本地策略时,我定义了一个function(email,password, done){...}
。但是,当我在app.post("/login", ...){...}
调用此函数时,如何传递电子邮件和密码参数?
护照默认
假定您发布带有input name='username'
input name='password'
的表格。 按照护照文档中的说明覆盖它:
passport.use(new LocalStrategy({
usernameField: 'email',
passwordField: 'password'
},
function(email, password, done) {
// ...
}
));
相关文章:
- 在节点 js 中使用护照本地模块验证(登录)密码时出错
- 如何使用护照 js 保护命名空间
- 使用护照JS获取当前登录的用户名
- 护照.js:如何避免序列化和反序列化用户
- 护照.js本地战略逻辑
- 护照节点.js CORS 错误
- 节点 js 护照重定向结果为 404
- 使用护照.js实施密码重置
- 节点.js快速护照.js - 数据不会序列化
- 当错误时清除cookie 使用护照反序列化用户.js
- 在护照.js中获取当前用户
- 护照.js用户登录和身份验证
- 在节点中注册.js使用护照
- 如何使用护照循环用户.js并将用户列表打印到 DOM 上
- 如何在用户使用护照登录的情况下测试帆.js控制器.js
- 节点.js:如何使用护照与koa
- 会话节点.js + 护照.js + Redis,按 user.id 存储会话
- 节点.js护照不调用下一个函数
- 什么是在我的帆.js护照.js实现的InternalOAuthError的原因
- Node.js护照本地策略问题