Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 无法在angular应用程序中使用bcrypt匹配密码_Javascript_Angularjs_Node.js_Mongodb - Fatal编程技术网

Javascript 无法在angular应用程序中使用bcrypt匹配密码

Javascript 无法在angular应用程序中使用bcrypt匹配密码,javascript,angularjs,node.js,mongodb,Javascript,Angularjs,Node.js,Mongodb,当我在angular应用程序中注册电子邮件和密码时,我成功了。然而,当我尝试登录时,我得到一个错误。在由Node和MongoDB提供服务的Angular应用程序的后端,我不断收到以下错误: C:\Users\my_name\Documents\Sites\css-wx\api\api.js:47 if(err) throw err; ^ Not a valid BCrypt hash. [nodemon] app crashed - waiti

当我在angular应用程序中注册电子邮件和密码时,我成功了。然而,当我尝试登录时,我得到一个错误。在由Node和MongoDB提供服务的Angular应用程序的后端,我不断收到以下错误:

C:\Users\my_name\Documents\Sites\css-wx\api\api.js:47
        if(err) throw err;
                ^
 Not a valid BCrypt hash.
 [nodemon] app crashed - waiting for file changes before starting...
这是我的节点js文件,第一个是app.js

var express=require('express');
var bodyParser=require('body-parser');
var mongoose=require('mongoose');
var User=require('./models/User.js');
var jwt=要求('jwt-simple');
/*如果不想使用JWT Simple,请使用自定义服务*/
//var jwt=require('./服务/jwt.js');
var-app=express();
use(bodyParser.json());
应用程序使用(功能(请求、恢复、下一步){
res.header('Access-Control-Allow-Origin','*');
res.header('Access-Control-Allow-Methods','GET、PUT、POST、DELETE');
res.header('Access-Control-Allow-Headers','Content-Type,Authorization');
next();
});
应用程序post('/register',函数(req,res){
var user=req.body;
var newUser=新用户({
电子邮件:user.email,
密码:user.password
});
newUser.save(函数(err){
//res.status(200).json(newUser);
createSendToken(newUser,res);
})
});
app.post('/login',函数(req,res){
req.user=req.body;
var searchUser={
电子邮件:req.user.email
};
User.findOne(searchUser,函数(err,User){
如果(错误)抛出错误
如果(!用户)
返回资源状态(401)。发送({
信息:“错误的电子邮件/密码”
});
user.comparePassword(req.user.password,函数(err,isMatch){
如果(错误)抛出错误;
如果(!isMatch)
返回资源状态(401)。发送({
信息:“错误的电子邮件/密码”
});
createSendToken(用户,res);
});
});
});
函数createSendToken(用户,res){
var有效载荷={
sub:user.id
}
var token=jwt.encode(有效载荷'shhh..');
资源状态(200)。发送({
user:user.toJSON(),
令牌:令牌
})
}
变量监视器=[
"监察",,
“地图”,
“事件列表”,
“水草”
];
app.get('/monitors',函数(req,res){
如果(!请求头.授权){
返回资源状态(401)。发送({
消息:“您未被授权”
});
}
var token=req.headers.authorization.split(“”)[1];
var有效载荷=jwt.decode(令牌,“嘘…”);
如果(!payload.sub){
资源状态(401)。发送({
消息:“身份验证失败”
});
}
res.json(监视器);
});
猫鼬mongodb://localhost/csswx');
//log(jwt.encode('hi','secret');
var server=app.listen(3000,函数(){
log('api侦听',server.address().port));

});看起来很像你在保存到数据库之前删除了密码散列。哦,是的,我明白你的意思了,谢谢