首頁 >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