用户登录

我们已经学会用 hash 了,不能再存储用户的纯密码了 .. 现在我们去改进一下存储用户注册信息的这个方法 ... 用的是 UserController 里的 store ..

先把 bcrypt 导入进来 ..

在 store 里,用一下 bcrypt 的 hash .. 把要 hash 的密码交给它 .. 这里就是请求的主体里的 password .. 10 表示 saltRounds ,这种用法跟我们之前先用 genSalt 生成 salt ,然后再 hash 是一样的 ..

方法返回 Promise .. 用一个 then ... 处理好的结果可以是 password .. 然后把下面这些代码放在这个方法里面 ..

去掉上面定义的这个 password ... 这样存储的就是 hash 之后的密码了 ..

先把数据库里的 users 集合里的文档删除掉 ... 在 mongodb 的控制台,执行一下 ..

db.getCollection('users').remove({})

然后再打开 rest 客户端 ... 配置一个请求 ... 方法是 post ,地址是 api/users ... 请求的主体是一个 json 格式的数据,里面有用户名,还有密码 ..

发送一下这个请求 .. 返回注册成功 ..

再去查询一下数据库 ..

db.getCollection('users').find()

你会发现,返回的这个用户文档里的 password 字段的值,已经不是原始值了 ... 现在数据库里存储的用户的密码会是 hash 之后的结果 ..

存储 hash 之后的密码《 Node.js:基于 Token 的身份验证 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点