Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.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
Node.js 在angular 7中检索令牌_Node.js_Angular_Post_Reset Password - Fatal编程技术网

Node.js 在angular 7中检索令牌

Node.js 在angular 7中检索令牌,node.js,angular,post,reset-password,Node.js,Angular,Post,Reset Password,我必须重置发送链接的密码表单http://localhost:4200/reset/token. 我想检索令牌并在angular应用程序中验证它 下面的代码发送带有令牌的链接 function(done) { Usermodel.findOne({ resetPasswordToken: req.params.token, resetPasswordExpires: { $gt: Date.now() } }, function(err, user){ i

我必须重置发送链接的密码表单
http://localhost:4200/reset/token.
我想检索令牌并在angular应用程序中验证它

下面的代码发送带有令牌的链接

function(done) {
        Usermodel.findOne({ resetPasswordToken: req.params.token, resetPasswordExpires: { $gt: Date.now() } }, function(err, user){
            if(!user){
                return res.status(422).send({errors: [{title: 'error', detail: 'Password reset token is invalid or has expired'}]});
            }

            if(req.body.password === req.body.confirm){
                user.setPassword(req.body.password, function(err){
                    user.resetPasswordToken = undefined;
                    user.resetPasswordExpires = undefined;

                    user.save(function(err){
                        req.logIn(user, function(err) {
                            done(err, user);
                        });
                    });
                });
            } else {
                return res.status(422).send({errors: [{title: 'error', detail: 'Password do not match'}]});
            }
        });
    },

});
实现这一点的最佳解决方案是什么,因为如果用户可以在没有令牌验证的情况下访问更改密码页面,则会创建安全Vunlabilty