Node.js 节点JS:用户信息/数据库和身份验证(Passport)

Node.js 节点JS:用户信息/数据库和身份验证(Passport),node.js,authentication,passport.js,user-accounts,passport-local,Node.js,Authentication,Passport.js,User Accounts,Passport Local,我正在使用Nodejs创建一个用户登录系统。我有几个问题似乎找不到答案(我正在使用Passport的本地策略) 1)创建/存储用户帐户 passport文档指定如下内容: User.findOne({username:username},函数(err,User){ if(err){返回完成(err);} 如果(!用户){ 返回完成(null,false,{消息:“用户名不正确。”}); } 如果(!user.validPassword(密码)){ 返回完成(null,false,{消息:“密码不

我正在使用Nodejs创建一个用户登录系统。我有几个问题似乎找不到答案(我正在使用Passport的本地策略)

1)创建/存储用户帐户

passport文档指定如下内容:

User.findOne({username:username},函数(err,User){
if(err){返回完成(err);}
如果(!用户){
返回完成(null,false,{消息:“用户名不正确。”});
}
如果(!user.validPassword(密码)){
返回完成(null,false,{消息:“密码不正确”。});
}
返回完成(空,用户);
});

}))

我不确定“用户”来自何处,因为我在尝试登录时遇到“用户未定义”错误。我假设我需要建立某种类型的数据库,但我不确定如何去做(无论是文档还是在线资源都没有表明需要这样做)。究竟什么是“用户”

我该如何创建“创建帐户”并将用户帐户存储到(本地)数据库中

2)获取用户信息/事后存储用户信息


用户登录后,我需要获取与该帐户相关的一些特定数据,例如用户名。用户也将有一个“排名点”,所以我需要一种方法来获得它。比如说,当用户在我拥有的游戏中“获胜”时,用户将获得“排名分数”,我也需要将其更新到特定帐户。我该怎么做?这是否也使用Passport来完成(或者Passport只是用于身份验证?

对于本地策略示例:

用户在users.js文件中硬编码:

var records = [
    { id: 1, username: 'jack', password: 'secret', displayName: 'Jack', emails: [ { value: 'jack@example.com' } ] }
  , { id: 2, username: 'jill', password: 'birthday', displayName: 'Jill', emails: [ { value: 'jill@example.com' } ] }
];
有关如何构建整个应用程序的示例,请参见(此处已回答了此问题:):

您所说的“本地策略”是什么意思?Passport通常用于针对外部提供商(如Facebook)进行身份验证。您是否正在尝试再次验证您自己的内部用户列表?类似这样的东西吗?如果有,Passport有三种常见的“策略”:本地、Facebook和API。我使用的是本地策略,我相信它可以对用户进行内部身份验证。
var records = [
    { id: 1, username: 'jack', password: 'secret', displayName: 'Jack', emails: [ { value: 'jack@example.com' } ] }
  , { id: 2, username: 'jill', password: 'birthday', displayName: 'Jill', emails: [ { value: 'jill@example.com' } ] }
];