Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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 如何使用Passport.js使用服务器端数据对用户进行身份验证_Javascript_Node.js_Socket.io_Passport.js - Fatal编程技术网

Javascript 如何使用Passport.js使用服务器端数据对用户进行身份验证

Javascript 如何使用Passport.js使用服务器端数据对用户进行身份验证,javascript,node.js,socket.io,passport.js,Javascript,Node.js,Socket.io,Passport.js,在passport.js中,您通常会使用其中一条路线中的post数据注册用户,该数据如下所示: router.post('/signup', passport.authenticate('local-signup', { successRedirect: '/profile', failureRedirect: '/signup', failureFlash: true, })); 但是假设所有的用户数据都已经在服务器上,在一个数组中。由

在passport.js中,您通常会使用其中一条路线中的post数据注册用户,该数据如下所示:

router.post('/signup', passport.authenticate('local-signup', {
        successRedirect: '/profile',
        failureRedirect: '/signup',
        failureFlash: true,
    }));
但是假设所有的用户数据都已经在服务器上,在一个数组中。由于数据已经在服务器上,我如何使用passport注册用户而不必使用get或POST获取数据


为了说明原因,我使用的是express、socket.io和passport.js,而我不能使用传统的注册表单来为您完成所有工作的原因是,我从API中提取了大部分用户数据,如果我将这些数据发送到客户端然后发布这些数据,这将是不安全的。非常感谢您的帮助,谢谢!:)

你可能得在护照的内部翻找。默认设置方式是使用会话来管理标识。通过socket.io,您将需要另一种等效机制,即每个连接的某种状态。@tadman目标是从socket.io获取数据并将其发送到passport。无论如何,我使用socket.io这一事实应该无关紧要,因为重要的是数据在服务器上,而不是来自post数据。我只是希望有一种方法可以获取服务器上数组中的用户名、电子邮件、id、密码等数据,然后发送到passport进行身份验证。你怎么知道谁是谁?当我第一次连接到套接字时,您如何识别我以正确记录我的日志?我们使用的是来自游戏的API。用户在游戏中输入用户名和区域,我们有一种特殊的方法来验证他们是否拥有该帐户,然后他们输入电子邮件和密码并注册。问题是,我需要从API中保存他们的信息以及他们的电子邮件和密码。我无法将他们的用户信息从API发送到客户端,因为这样他们就可以进入文件并在提交之前进行更改。所以底线是,我在服务器上有一个数组中的所有用户数据,如何将其发送到passport进行身份验证@Ybrodsky这个怎么样: