🔐 認証ブロック
認証ブロックは、Nodeblocks アプリケーションにおけるユーザー認証および認可のための包括的な機能を提供します。これらのブロックは、OAuth、メール/パスワード、メール認証、セッション管理を含む認証フローを処理します。
🎯 概要
認証ブロックは次のことを目的として設計されています:
- 複数の認証方法をサポートする(OAuth、メール/パスワード)
- メール認証および確認ワークフローを処理する
- ユーザーセッションおよびセキュリティトークンを管理する
- デバイスフィンガープリンティングを使用した安全な認証を提供する
- 様々な検証オプションを使用した柔軟な登録を有効にする
📦 ブロックタイプ
🔍 スキーマ
認証データ検証のための JSON Schema 定義:
- providerSchema: OAuth プロバイダー認証
- credentialsSchema: メール/パスワード認証
- identitySchema: 複数の方法を使用した柔軟な認証
- loginWithCredentialsSchema: フィンガープリンティングを使用したログイン検証
- registerCredentialsSchema: ユーザー登録検証
- sendVerificationEmailSchema: メール認証リクエスト
- confirmEmailSchema: トークンを使用したメール確認
- changeEmailSchema: メール変更検証
- checkTokenSchema: ターゲットコンテキストを使用したトークン検証
- confirmNewEmailSchema: 新しいメール確認検証
- sendResetPasswordLinkEmailSchema: パスワードリセットメール検証
- passwordSchema: パスワードフィールド検証(長さ/パターン)
- changePasswordSchema: パスワード変更検証
- completePasswordResetSchema: パスワードリセット完了検証
- activateSchema: アカウント有効化検証
- deactivateSchema: アカウント無効化検証
⚙️ ハンドラー
認証操作のための中核となるビジネスロジック:
- loginWithCredentials: 資格情報を使用したユーザー認証
- createAccessToken: アクセストークン生成
- createRefreshToken: リフレッシュトークン生成
- setResponseCookie: レスポンスに認証クッキーを設定
- logout: セッション終了およびクリーンアップ
- registerCredentials: ユーザーアカウント作成
- sendVerificationEmail: メール認証送信
- confirmEmail: メール確認処理
- buildCheckConfirmEmailTokenPayload: confirm-email のためのチェックトークンペイロードを準備
- changeEmail: メール変更開始
- checkToken: トークン検証処理
- confirmNewEmail: 新しいメール確認処理
- sendResetPasswordLinkEmail: パスワードリセットメール送信
- refreshToken: リフレッシュトークンを使用したアクセストークン更新
- deleteToken: トークン削除(管理者)
- loginWithOnetimeToken: OTT を使用した認証
- generateOnetimeToken: OTT 生成(管理者)
- restoreOnetimeToken: OTT 復元(管理者)
- invalidateOnetimeToken: OTT 無効化(管理者)
- changePassword: パスワード変更処理
- activate: アカウント有効化処理
- deactivate: アカウント無効化処理
- completePasswordReset: パスワードリセット完了処理
🛣️ ルート
認証操作のための HTTP エンドポイント定義:
- loginWithCredentialsRoute: POST
/auth/login
(認証ハンドラー付き) - 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
(トークン検証ハンドラー付き) - deleteTokenRoute: POST
/auth/token/delete
(トークン削除、管理者) - loginWithOnetimeTokenRoute: GET
/auth/ott/login
(OTT 認証付き) - generateOnetimeTokenRoute: POST
/auth/ott/generate
(OTT 生成、管理者) - restoreOnetimeTokenRoute: POST
/auth/ott/restore
(OTT 復元、管理者) - invalidateOnetimeTokenRoute: POST
/auth/ott/invalidate
(OTT 無効化、管理者) - 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
(パスワード更新付き)
🚀 機能
スキーマ、ルート、ハンドラーを組み合わせた完全な認証管理機能:
- loginWithCredentialsFeature: 検証された資格情報を使用したユーザー認証と安全なログアウト
- registerCredentialsFeature: 資格情報検証とアカウント作成を使用したユーザー登録
- emailVerificationFeature: デバイスセキュリティを使用したメール認証リクエスト処理
- confirmEmailFeature: メール確認トークン検証とアカウント検証
- changeEmailFeature: 検証を使用したメール変更開始
- checkTokenFeature: ターゲットコンテキストを使用したトークン検証
- confirmNewEmailFeature: メール変更後の新しいメール確認
- sendResetPasswordLinkEmailFeature: パスワードリセットメール生成および送信
- changePasswordFeature: 検証とハッシュ化を使用したパスワード変更
- activateFeature: アカウント有効化ワークフロー
- deactivateFeature: アカウント無効化ワークフロー
- completePasswordResetFeature: パスワードリセット完了ワークフロー
✅ バリデーター
認証操作のための検証関数:
- isAuthenticated: 設定された認証機能を使用して認証を検証
- verifyAuthentication: 提供された認証機能を使用して認証を検証(非推奨)
🔧 ブロック
認証操作のための純粋なビジネスロジック関数:
- アイデンティティ管理: ユーザー検証およびメール操作
- トークン管理: 安全なトークンライフサイクル管理
- メール認証: 検証および通信機能
- セキュリティ検証: フィンガープリンティング追跡およびリクエスト検証
🔗 関連ドキュメント
- 認証スキーマブロック - 認証データ検証および契約
- 認証ハンドラーブロック - ビジネスロジックおよび認証操作
- 認証ルートブロック - HTTP エンドポイント定義
- 認証機能ブロック - 完全な認証管理機能
- 認証バリデーターブロック - 認証検証関数
- 招待ブロック - 関連する招待管理機能