本教程演示了在Node.js Web应用程序中构建用户注册和登录系统。 我们将介绍输入验证和密码哈希,以增强安全性。
应用程序设置
首先创建一个项目目录(例如,“ site-auth”)。 在此目录中初始化npm:
npm init -y
>密码验证使用正则表达式/^[a-zA-Z0-9]{6,30}$/
,执行由字母数字字符组成的6-30个字符。
可以通过result
访问注册表格的数据。验证错误导致错误消息和重定向到注册页面。 还可以防止重复的电子邮件地址。 至关重要的是,在数据库存储之前,使用bcrypt进行密码:
result.value.password = hash
>访问注册页面
node app.js
https://localhost:5000
>登录功能添加到
>中。 使用JOI定义了登录验证架构:
/routes/users.js
const loginSchema = Joi.object().keys({ email: Joi.string().email().required(), password: Joi.string().regex(/^[a-zA-Z0-9]{6,30}$/).required() });
成功的登录重定向到仪表板。
router.route('/login') .get((req, res) => { res.render('login') }) .post(async (req, res, next) => { // ... (login validation and password comparison logic) ... });
在
/routes/index.js
router.get('/users/dashboard', (req, res) => { res.render('dashboard') });
>本教程的更新是由位于尼日利亚拉各斯的软件开发人员Mary Okosun的贡献。
以上是node.js中的站点身份验证:用户注册和登录的详细内容。更多信息请关注PHP中文网其他相关文章!