首页 >web前端 >js教程 >node.js中的站点身份验证:用户注册和登录

node.js中的站点身份验证:用户注册和登录

William Shakespeare
William Shakespeare原创
2025-03-10 00:20:15505浏览

本教程演示了在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

Site Authentication in Node.js: User Signup and Login

>登录实现

>登录功能添加到

>中。 使用JOI定义了登录验证架构:

/routes/users.js

>登录路由都处理get(渲染登录页面)和帖子(处理登录尝试)请求:
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) ...
  });

Site Authentication in Node.js: User Signup and Login Site Authentication in Node.js: User Signup and Login Site Authentication in Node.js: User Signup and Login

仪表板实现

/routes/index.js

router.get('/users/dashboard', (req, res) => {
    res.render('dashboard')
});
结论

Site Authentication in Node.js: User Signup and Login

本教程为Node.js应用程序中的安全用户身份验证提供了基础。 切记始终验证用户输入并安全地哈希密码。 完整的源代码可在GitHub上找到。

>本教程的更新是由位于尼日利亚拉各斯的软件开发人员Mary Okosun的贡献。

以上是node.js中的站点身份验证:用户注册和登录的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn