メインコンテンツまでスキップ
バージョン: 0.9.0 (最新)

🔐 認証ブロック

認証ブロックは、Nodeblocksアプリケーションでユーザー認証と認可のための包括的な機能を提供します。これらのブロックは、OAuth、メール/パスワード、メール確認、多要素認証(MFA)、ワンタイムトークン、セッション管理を含む認証フローを処理します。


🎯 概要

認証ブロックは以下の目的で設計されています:

  • 複数の認証方法のサポート(OAuth、メール/パスワード、ワンタイムトークン)
  • メール確認と確認ワークフローの処理
  • ユーザーセッションとセキュリティトークンの管理
  • デバイスフィンガープリンティングによる安全な認証の提供
  • 様々なバリデーションオプションによる柔軟な登録の有効化
  • 多要素認証(MFA)のサポート - コード生成と確認を含む

📦 ブロックタイプ

🔍 スキーマ

認証データのバリデーション用JSON Schema定義:

  • providerSchema: OAuthプロバイダー認証
  • credentialsSchema: メール/パスワード認証
  • identitySchema: 複数の方法による柔軟な認証
  • loginWithCredentialsSchema: フィンガープリンティングを含むログインバリデーション
  • resendMfaCodeSchema: MFAコード再送信バリデーション
  • verifyMfaCodeSchema: MFAコード確認バリデーション
  • registerCredentialsSchema: ユーザー登録バリデーション
  • sendVerificationEmailSchema: メール確認リクエスト
  • confirmEmailSchema: トークンによるメール確認
  • changeEmailSchema: メール変更バリデーション
  • checkTokenSchema: ターゲットコンテキストを含むトークンバリデーション
  • confirmNewEmailSchema: 新しいメール確認バリデーション
  • sendResetPasswordLinkEmailSchema: パスワードリセットメールバリデーション
  • passwordSchema: パスワードフィールドバリデーション(長さ/パターン)
  • changePasswordSchema: パスワード変更バリデーション
  • completePasswordResetSchema: パスワードリセット完了バリデーション
  • activateSchema: アカウント有効化バリデーション
  • deactivateSchema: アカウント無効化バリデーション
  • loginWithOnetimeTokenSchema: ワンタイムトークンログインバリデーション
  • refreshTokenSchema: リフレッシュトークンバリデーション
  • deleteRefreshTokensSchema: リフレッシュトークン削除バリデーション

認証スキーマを表示 →

⚙️ ハンドラー

認証操作のコアビジネスロジック:

  • loginWithCredentials: 認証情報によるユーザー認証
  • createAccessToken: アクセストークンの生成
  • createRefreshToken: リフレッシュトークンの生成
  • setResponseCookie: レスポンスに認証Cookieを設定
  • logout: セッション終了とクリーンアップ
  • registerCredentials: ユーザーアカウントの作成
  • sendVerificationEmail: メール確認の送信
  • confirmEmail: メール確認の処理
  • buildCheckConfirmEmailTokenPayload: confirm-email用のチェックトークンペイロードの準備
  • checkToken: トークンバリデーション処理
  • refreshToken: 強化されたセキュリティでリフレッシュトークンを使用したアクセストークンの更新
  • deleteToken: トークンの削除(admin)
  • loginWithOnetimeToken: OTTによる認証
  • generateOnetimeToken: OTTの生成(admin)
  • restoreOnetimeToken: OTTの復元(admin)
  • invalidateOnetimeToken: OTTの無効化(admin)
  • loginTerminator: ログイン応答のフォーマット
  • logoutTerminator: ログアウト応答のフォーマット
  • registerTerminator: 登録応答のフォーマット
  • confirmEmailTerminator: メール確認応答のフォーマット
  • sendVerificationEmailTerminator: 確認メール応答のフォーマット

認証ハンドラーを表示 →

🛣️ ルート

認証操作のHTTPエンドポイント定義:

  • loginWithCredentialsRoute: POST /auth/login(認証ハンドラー付き)
  • resendMfaCodeRoute: POST /auth/mfa/resend(MFAコード再生成付き)
  • verifyMfaCodeRoute: POST /auth/mfa/verify(MFAコード確認付き)
  • logoutRoute: POST /auth/logout(セッション終了付き)
  • refreshTokenRoute: POST /auth/token/refresh(アクセストークン更新付き)
  • registerCredentialsRoute: POST /auth/register(アカウント作成付き)
  • sendVerificationEmailRoute: POST /auth/:identityId/send-verification-email(メール送信付き)
  • confirmEmailRoute: POST /auth/confirm-email(トークン処理付き)
  • changeEmailRoute: PATCH /auth/:identityId/change-email(メール更新処理付き)
  • checkTokenRoute: POST /auth/token/check(トークンバリデーションハンドラー付き)
  • deleteRefreshTokensRoute: DELETE /auth/:identityId/refresh-tokens(認証とアクセスバリデーション付き)
  • loginWithOnetimeTokenRoute: POST /auth/ott/login(OTT認証付き)
  • generateOnetimeTokenRoute: POST /auth/ott/generate(OTT生成付き、admin)
  • restoreOnetimeTokenRoute: POST /auth/ott/restore(OTT復元付き、admin)
  • invalidateOnetimeTokenRoute: POST /auth/ott/invalidate(OTT無効化付き、admin)
  • confirmNewEmailRoute: POST /auth/confirm-new-email(新しいメール確認付き)
  • sendResetPasswordLinkEmailRoute: POST /auth/send-reset-password-link-email(パスワードリセットメール送信付き)
  • changePasswordRoute: PATCH /auth/:identityId/change-password(パスワード更新処理付き)
  • activateRoute: POST /auth/activate(アカウント有効化処理付き)
  • deactivateRoute: POST /auth/deactivate(アカウント無効化処理付き)
  • completePasswordResetRoute: POST /auth/reset-password(パスワード更新付き)

認証ルートを表示 →

🚀 機能

schemas、routes、handlersを組み合わせた完全な認証管理機能:

  • loginWithCredentialsFeature: バリデーション済み認証情報と安全なログアウトを含むユーザー認証
  • verifyMfaCodeFeature: 多要素認証コード確認ワークフロー
  • resendMfaCodeFeature: 新しい確認コードが必要なユーザー向けのMFAコード再生成
  • loginWithOnetimeTokenFeature: ワンタイムトークンを使用したパスワードレス認証
  • registerCredentialsFeature: 認証情報バリデーションとアカウント作成を含むユーザー登録
  • emailVerificationFeature: デバイスセキュリティを含むメール確認リクエスト処理
  • confirmEmailFeature: メール確認トークンバリデーションとアカウント確認
  • changeEmailFeature: バリデーションを含むメール変更の開始
  • checkTokenFeature: ターゲットコンテキストを含むトークンバリデーション
  • confirmNewEmailFeature: メール変更後の新しいメール確認
  • sendResetPasswordLinkEmailFeature: パスワードリセットメールの生成と送信
  • changePasswordFeature: バリデーションとハッシュ化を含むパスワード変更
  • activateFeature: アカウント有効化ワークフロー
  • deactivateFeature: アカウント無効化ワークフロー
  • completePasswordResetFeature: パスワードリセット完了ワークフロー
  • refreshTokenFeature: アクセストークンを更新するためのスキーマバリデーションとルーティングを含むトークン更新機能
  • deleteRefreshTokensFeature: アイデンティティリフレッシュトークンを削除するためのスキーマバリデーションとルーティングを含むリフレッシュトークン削除機能

認証機能を表示 →

バリデーター

認証操作のバリデーション関数:

  • isAuthenticated: 設定された認証器を使用して認証をバリデーション
  • verifyAuthentication: 提供された認証器関数を使用して認証をバリデーション(非推奨)

認証バリデーターを表示 →

🔧 ブロック

認証操作の純粋なビジネスロジック関数:

  • Identity Management: ユーザーバリデーションとメール操作
  • Token Management: 安全なトークンライフサイクル管理
  • Email Authentication: 確認と通信機能
  • Security Validation: フィンガープリント追跡とリクエストバリデーション
  • Multi-Factor Authentication (MFA): MFAコード生成、確認、エラー処理
  • MFA Error Classes: MFA操作のための専門的なエラー処理
  • MFA Constants: MFA機能の設定定数

認証ブロックを表示 →


🔗 関連ドキュメント