認証について - Express.js

  • 作成日:
  • 最終更新日:2025/10/11

セキュリティ強化

セキュリティ強化のために、認証機能に追加する機能には以下のようなものがあります。

  • 2要素認証(2FA)
  • パスワードの強度チェック
  • パスワードのハッシュ化とソルト
  • メールアドレス認証
  • ログイン試行回数制限(レートリミット)
  • ログイン通知メール
  • セッション管理のセキュリティ強化

2要素認証(2FA)

  • パスワードに加えてワンタイムコード(OTP)などを入力させることで、不正ログインを防止。
  • 実装例: TOTP(Google Authenticator など)やSMSコード

パスワードの強度チェック

  • 文字数の下限(例: 8文字以上)
  • 大文字、小文字、数字、記号の組み合わせを必須とする
  • ユーザー名や一般的な単語(password, 123456など)を禁止する
  • パスワードの使い回しを防止するため、一定期間使用したパスワードの再設定を要求する

メールアドレス認証

  • 登録後にメールアドレス確認リンクを送信。確認済みユーザーだけログイン可能にする。

ログイン試行回数制限(レートリミット)

  • IPアドレスごとにログイン試行回数を制限。express-rate-limit のライブラリを使用