如何从 Passport.js 更改本地策略身份验证的用户对象
How to change user object for local strategy authentication from Passport.js?
此处为未修改护照应用程序的示例。
例如,我们得到了这个:
var userSchema = mongoose.Schema({
local: {
email: String,
password: String
}
});
我们需要这样做:
var userSchema = mongoose.Schema({
local: {
id: String,
user: {
email: String,
password: String
}
}
});
完成这些更改后,我注册了,然后尝试登录,但收到此错误:
node_modules'bcrypt-nodejs'bCrypt.js:642
throw "Incorrect arguments";
所有条目(如 local.email
)在以下文件中重命名为 local.user.email
:
- 路线.js
- profile.ejs
- 用户.js
- 护照.js
根据您的错误,存在一个问题,您使用bcrypt
模块,并且在链接的文章中仅使用了两次:
// generating a hash
userSchema.methods.generateHash = function(password) {
return bcrypt.hashSync(password, bcrypt.genSaltSync(8), null);
};
// checking if password is valid
userSchema.methods.validPassword = function(password) {
return bcrypt.compareSync(password, this.local.password);
};
第一个没有连接到您的用户架构,所以我认为问题是第二个功能。您是否更改了那里的变量?
相关文章:
- Sencha Touch和远程服务器上的身份验证
- Javascript清除缓存以清除基本身份验证凭据
- REST的面向公众的身份验证机制
- 当需要身份验证时,ui路由器不会重定向
- 使用Facebook登录,但仍然可以获得:“;此标识池不支持未经身份验证的访问“;
- AJAX HTTP基本身份验证解决方案
- 身份验证后获取Facebook图片
- 如何对单个页面进行密码保护(这不是身份验证系统的一部分)
- Twitter应用程序专用身份验证
- Passport.js成功的身份验证根本没有调用
- 通过JavaScript访问需要身份验证的页面
- UIWebview赢得't通过基本身份验证加载动态加载的资源(通过jQuery mobile)
- 使用JavaScript捕获基本身份验证凭据
- javascript中的Spotify身份验证
- 使用 sailsjs 护照身份验证本地策略既不会给出任何错误,也不会对用户进行身份验证
- 如何从 Passport.js 更改本地策略身份验证的用户对象
- 需要有关如何在Express中实际使用Passport身份验证策略的帮助
- 使用Passport JS自定义策略Oauth身份验证
- Express.js Passport身份验证自动失败跳过策略
- 未知的身份验证策略护照