gpt4 book ai didi

node.js - Nodejs : User Info/database and authentication (Passport)

转载 作者:太空宇宙 更新时间:2023-11-03 22:31:46 25 4
gpt4 key购买 nike

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

1) 创建/存储用户帐户

Passport 文件指定如下内容:

User.findOne({用户名:用户名},函数(err,用户){
if(err){返回完成(err);}
如果(!用户){
return done(null, false, {message: "用户名不正确。"});
}
if(!user.validPassword(密码)){
return done(null, false, {message: '密码错误。'});
}
返回完成(空,用户);
});

passport.deserializeUser(function(id, done){
User.findById(id, function(err,user){
done(err, user);
});

});

我不确定“用户”来自哪里,因为当我尝试登录时收到“用户未定义”错误。我假设我需要创建某种数据库,但我不确定如何去做(文档和在线资源都没有表明需要这样做)。 “用户”到底是什么?

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

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

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

最佳答案

此处的本地策略示例: https://github.com/passport/express-4.x-local-example

用户被硬编码在 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' } ] }
];

有关如何构建整个应用程序的示例,请参阅(这已经在此处得到了回答:Comprehensive tutorial for nodejs passport local-strategy setup?):

https://scotch.io/tutorials/easy-node-authentication-setup-and-local

关于node.js - Nodejs : User Info/database and authentication (Passport),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35989982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com