Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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
如何使用passportjs for node将用户从django身份验证导出到新系统_Django_Node.js_Authentication_Passwords_Passport.js - Fatal编程技术网

如何使用passportjs for node将用户从django身份验证导出到新系统

如何使用passportjs for node将用户从django身份验证导出到新系统,django,node.js,authentication,passwords,passport.js,Django,Node.js,Authentication,Passwords,Passport.js,我想使用passportjs/node将具有django身份验证的系统中的用户导出到新系统。我的猜测是,我必须将passport配置为使用相同类型的散列,才能使其工作 来自django用户手册:“默认情况下,django使用带有SHA256哈希的PBKDF2算法” 如果让散列方法匹配是一种方法,那么我有一个问题:如何将passportjs散列设置为匹配?Passport只是为您提供了一个“容器”函数,您可以在其中以任何方式执行自己的散列验证 至于散列,在你的例子中,你可以使用其中的任何一个

我想使用passportjs/node将具有django身份验证的系统中的用户导出到新系统。我的猜测是,我必须将passport配置为使用相同类型的散列,才能使其工作

来自django用户手册:“默认情况下,django使用带有SHA256哈希的PBKDF2算法”


如果让散列方法匹配是一种方法,那么我有一个问题:如何将passportjs散列设置为匹配?

Passport只是为您提供了一个“容器”函数,您可以在其中以任何方式执行自己的散列验证

至于散列,在你的例子中,你可以使用其中的任何一个

因此,一旦从数据库中获得了用户对象,就可以将其与所提供的密码生成的哈希进行比较,并将其匹配,然后返回用户

所以它可能看起来像这样:

passport.use(new LocalStrategy(
    function(username, password, done) {
        var user = db.getUser('username');
        var generated_hash = hash(password, user.password.salt);
        var stored_hash = user.password.hash;
        if(generated_hash === stored_hash) 
            done(null, user);
    }
));

()

Passport只为您提供了一个“容器”函数,在该函数中,您可以根据自己的喜好执行哈希验证

至于散列,在你的例子中,你可以使用其中的任何一个

因此,一旦从数据库中获得了用户对象,就可以将其与所提供的密码生成的哈希进行比较,并将其匹配,然后返回用户

所以它可能看起来像这样:

passport.use(new LocalStrategy(
    function(username, password, done) {
        var user = db.getUser('username');
        var generated_hash = hash(password, user.password.salt);
        var stored_hash = user.password.hash;
        if(generated_hash === stored_hash) 
            done(null, user);
    }
));

()

谢谢你提供的信息!我会试试看的!谢谢!我试试看