ホームページ > ウェブフロントエンド > jsチュートリアル > node.jsのサイト認証:ユーザーのサインアップとログイン

node.jsのサイト認証:ユーザーのサインアップとログイン

William Shakespeare
リリース: 2025-03-10 00:20:15
オリジナル
511 人が閲覧しました

このチュートリアルは、node.js Webアプリケーションにユーザー登録とログインシステムの構築を示しています。 強化されたセキュリティのために入力検証とパスワードハッシュをカバーします。

アプリケーションのセットアップ

プロジェクトディレクトリ(例: "Site-auth")を作成することから始めます。 このディレクトリ内でnpmを初期化:

パスワード検証では、英数文字で構成される6〜30文字を実施する正規表現
npm init -y
ログイン後にコピー
を使用します。

登録フォームのデータには/^[a-zA-Z0-9]{6,30}$/からアクセスできます。検証エラーにより、エラーメッセージと登録ページへのリダイレクトが発生します。 重複したメールアドレスも防止されます。 重要なことに、データベースストレージの前にbcryptを使用してパスワードがハッシュされます:

result登録の成功には、成功メッセージが表示され、ログインページにリダイレクトされます。 サーバーを起動してください:

result.value.password = hash
ログイン後にコピー

登録ページにアクセスしてください

node app.js
ログイン後にコピー

https://localhost:5000

サインインの実装

Site Authentication in Node.js: User Signup and Login

ログイン機能が

に追加されます。 ログイン検証スキーマは、JOI:を使用して定義されています

ログインルートは、GET(ログインページのレンダリング)と投稿(ログイン試行の処理)リクエストの両方を処理します。

/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) ...
  });
ログイン後にコピー

ダッシュボードの実装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で利用できます。 このチュートリアルは、ナイジェリアのラゴスに拠点を置くソフトウェア開発者であるメアリーオコスンからの貢献により更新されました。

以上がnode.jsのサイト認証:ユーザーのサインアップとログインの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート