⚙️ 認証ハンドラーブロック
認証ハンドラーブロックは、Nodeblocks アプリケーションにおけるユーザー認証および認可操作のための中核となるビジネスロジック関数を提供します。これらのハンドラーは、ログイン、登録、トークン管理、メール認証の一般的なパターンをカプセル化します。
🎯 概要
認証ハンドラーブロックは次のことを目的として設計されています:
- 資格情報およびトークンを用いたユーザー認証を処理する
- 検証とセキュリティを伴うユーザー登録を管理する
- 作成・更新・検証を含むトークン操作を処理する
- メール認証のワークフローをサポートする
- 適切なトークン検証とフィンガープリンティングでセキュリティを確保する
📋 認証ハンドラーの種類
認証非同期ハンドラー
非同期の認証操作(データベース呼び出し、トークン生成など)を実行する関数。
認証同期ハンドラー
同期的な認証操作(トークン検証、レスポンス整形など)を実行する関数。
認証ターミネーターハンドラー
最終的な認証レスポンスを整形して返す関数。
🔧 利用可能な認証ハンドラー
loginWithCredentials
メールとパスワードの資格情報でユーザーを認証します。
This handler is deprecated.
Replacement: use Authentication Blocks
目的: 資格情報の検証とアカウントセキュリティを伴うユーザーログインを処理します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますparams.requestBody.email
またはcontext.data.email
: ユーザーのメールparams.requestBody.password
またはcontext.data.password
: ユーザーのパスワードcontext.db
: データベース接続context.configuration.maxFailedLoginAttempts
: 失敗許容回数(デフォルト: 5)
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は identity、またはエラー
ペイロード要件:
- メールとパスワードがリクエストボディまたはコンテキストデータに含まれている必要があります
- データベース操作のため
context.db
が利用可能である必要があります context.configuration
に maxFailedLoginAttempts 設定が必要です
主な機能:
- メールとパスワードが提供されていることを検証します
- データベースにユーザーアイデンティティが存在するか確認します
- 認証のためにパスワードハッシュを比較します
- 失敗が続いた場合のアカウントロックを処理します
- ログイン成功時に失敗回数をリセットします
- 成功時に identity データを返します
- データベースエラーを丁寧に処理します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { loginWithCredentials } = handlers;
// 合成で使用
const authPipeline = compose(loginWithCredentials, createAccessToken, createRefreshToken, setResponseCookie, loginTerminator);
createAccessToken
認証済みセッションのためのユーザーアクセストークンを生成します。
This handler is deprecated.
Replacement: use Authentication Blocks
目的: フィンガープリント検証を伴う安全なアクセストークンを作成します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますparams.requestBody.fingerprint
またはcontext.data.fingerprint
: セキュリティフィンガープリントparams.requestBody.id
またはcontext.data.id
またはcontext.identity.id
: ユーザー IDcontext.request
: Express リクエストオブジェクトcontext.configuration.authSecrets
: 認証シークレットcontext.configuration.jwtOpts
: JWT オプション
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は accessToken、またはエラー
ペイロード要件:
- ユーザー ID はリクエストボディ、コンテキストデータ、または identity のいずれかから取得可能である必要があります
- トークン検証のために
context.request
に IP とヘッダーが含まれている必要があります context.configuration.authSecrets
とjwtOpts
が利用可能である必要があります
主な機能:
- 複数のソース(リクエストボディ、コンテキストデータ、identity)からユーザー ID を取得します
- ドメイン、フィンガープリント、IP、ユーザーエージェントを用いてトークン検証を構築します
- JWT によって安全なユーザーアクセストークンを生成します
- 成功時にアクセストークンを返します
- トークン生成エラーを丁寧に処理します
Usage:
import { handlers } from '@nodeblocks/backend-sdk';
const { createAccessToken } = handlers;
// 合成で使用
const authPipeline = compose(loginWithCredentials, createAccessToken, createRefreshToken, setResponseCookie, loginTerminator);
createRefreshToken
トークン更新のためのリフレッシュトークンを生成します。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: データベース保存を伴う安全なリフレッシュトークンを作成します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますparams.requestBody.fingerprint
またはcontext.data.fingerprint
: セキュリティフィンガープリントparams.requestBody.id
またはcontext.data.id
またはcontext.identity.id
: ユーザー IDcontext.request
: Express リクエストオブジェクトcontext.db
: データベース接続context.configuration.authSecrets
: 認証シークレットcontext.configuration.refreshTokenOpts
: リフレッシュトークンのオプションcontext.configuration.refreshTokenExpireTime
: リフレッシュトークンの有効期限
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は refreshToken、またはエラー
ペイロード要件:
- ユーザー ID はリクエストボディ、コンテキストデータ、または identity のいずれかから取得可能である必要があります
- トークン検証のために
context.request
に IP とヘッダーが含まれている必要があります - トークン保存のために
context.db
が利用可能である必要があります context.configuration
に認証シークレットとリフレッシュトークンのオプションが含まれている必要があります
主な機能:
- 複数のソースからユーザー ID とフィンガープリントを取得します
- ドメイン、フィンガープリント、IP、ユーザーエージェントを用いてトークン検証を構築します
- JWT によって安全なリフレッシュトークンを生成します
- 有効期限付きでトークンをデータベースに保存します
- 成功時にリフレッシュトークンを返します
- トークン生成および保存エラーを処理します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { createRefreshToken } = handlers;
// 合成で使用
const authPipeline = compose(loginWithCredentials, createAccessToken, createRefreshToken, setResponseCookie, loginTerminator);
setResponseCookie
HTTP レスポンスに認証用クッキーを設定します。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: アクセスおよびリフレッシュトークンのための安全なクッキーを設定します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますcontext.response
: Express レスポンスオブジェクトcontext.cookieOpts
: クッキー設定オプションcontext.data.accessToken
: クッキーに設定するアクセストークンcontext.data.refreshToken
: クッキーに設定するリフレッシュトークン
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は更新済みペイロード、またはエラー
ペイロード要件:
- クッキー設定のために
context.response
が利用可能である必要があります context.cookieOpts
にクッキー設定が含まれている必要があります- コンテキストデータにアクセスおよび/またはリフレッシュトークンが存在している必要があります
主な機能:
- レスポンスオブジェクトが利用可能であることを検証します
- Access-Control-Allow-Credentials ヘッダーを設定します
- アクセストークン用の安全なクッキーを設定します
- リフレッシュトークン用の安全なクッキーを設定します
- セキュリティのため提供されたクッキーオプションを使用します
- 成功時に更新済みペイロードを返します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { setResponseCookie } = handlers;
// 合成で使用
const authPipeline = compose(loginWithCredentials, createAccessToken, createRefreshToken, setResponseCookie, loginTerminator);
registerCredentials
メールとパスワードで新規ユーザーを登録します。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: 検証とパスワードハッシュ化を伴うユーザー登録を処理します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますparams.requestBody.email
: ユーザーのメールアドレスparams.requestBody.password
: ユーザーのパスワードcontext.data.invitation.email
: 招待からのメール(任意)context.db
: データベース接続
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は identity、またはエラー
ペイロード要件:
- メールとパスワードがリクエストボディに含まれている必要があります
- データベース操作のため
context.db
が利用可能である必要があります
主な機能:
- メールとパスワードが提供されていることを検証します
- 重複防止のため既存のアイデンティティを確認します
- 保存前にパスワードを安全にハッシュ化します
- タイムスタンプと ID を持つベースエンティティを作成します
- 新しいアイデンティティをデータベースに挿入します
- 成功時に identity データを返します
- データベースエラーを丁寧に処理します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { registerCredentials } = handlers;
// 合成で使用
const authPipeline = compose(registerCredentials, registerTerminator);
refreshToken
有効なリフレッシュトークンを用いてアクセストークンを更新します。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: トークンをローテーションし、新しいアクセス/リフレッシュトークンのペアを生成します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますparams.requestBody.fingerprint
またはcontext.data.fingerprint
またはcontext.fingerprint
: セキュリティフィンガープリントcontext.request
: クッキーとボディを含む Express リクエストオブジェクトcontext.db
: データベース接続context.configuration.authSecrets
: 認証シークレットcontext.configuration.jwtOpts
: JWT オプション
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は新しいトークン、またはエラー
ペイロード要件:
context.request
にクッキーまたはボディ内のリフレッシュトークンが含まれている必要があります- トークン無効化のため
context.db
が利用可能である必要があります context.configuration
に認証シークレットと JWT オプションが含まれている必要があります
主な機能:
- 複数のソースからフィンガープリントを取得します
- クッキーおよびボディからリフレッシュトークンを検証します
- 一致確認のためクッキーとボディのトークンを比較します
- 古いリフレッシュトークンをデータベースで無効化します
- 新しいアクセスおよびリフレッシュトークンを生成します
- 成功時に新しいトークンペアを返します
- トークン検証および生成エラーを処理します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { refreshToken } = handlers;
// 合成で使用
const authPipeline = compose(refreshToken, setResponseCookie, loginTerminator);
logout
リフレッシュトークンを無効化しクッキーをクリアすることで、ユーザーをログアウトします。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: トークンクリーンアップを伴う安全なユーザーログアウトを処理します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますcontext.request
: クッキーを含む Express リクエストオブジェクトcontext.response
: Express レスポンスオブジェクトcontext.db
: データベース接続context.configuration.authSecrets
: 認証シークレット
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は更新済みペイロード、またはエラー
ペイロード要件:
context.request
にクッキー内のリフレッシュトークンが含まれている必要があります- クッキー削除のために
context.response
が利用可能である必要があります - トークン無効化のため
context.db
が利用可能である必要があります context.configuration.authSecrets
が利用可能である必要があります
主な機能:
- クッキーからリフレッシュトークンを抽出します
- リフレッシュトークンを検証・復号します
- データベースで削除時刻を設定してトークンを無効化します
- アクセスおよびリフレッシュトークンのクッキーを削除します
- 成功時に更新済みペイロードを返します
- トークン検証およびクリーンアップのエラーを処理します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { logout } = handlers;
// 合成で使用
const authPipeline = compose(logout, logoutTerminator);
checkToken
認証トークンを検証および処理します。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: トークンの正当性を検証し、ユーザー情報を抽出します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますparams.requestBody.token
: 検証するトークンcontext.data.checkToken.target
: トークンのターゲット(任意)context.request
: Express リクエストオブジェクトcontext.db
: ワンタイムトークン用のデータベース接続context.configuration.authSecrets
: 認証シークレット
戻り値: Result<RouteHandlerPayload, Error>
- 成功時はトークン情報、またはエラー
ペイロード要件:
- トークンがリクエストボディに含まれている必要があります
- リクエスト情報抽出のため
context.request
が利用可能である必要があります - ワンタイムトークン検証のため
context.db
が利用可能である必要があります context.configuration.authSecrets
が利用可能である必要があります
主な機能:
- リクエストからトークンとフィンガープリントを抽出します
- JWT 検証を用いてトークンを検証します
- ユーザーアクセストークンとワンタイムトークンの両方に対応します
- アクセストークンに対するセキュリティチェックを実施します
- ワンタイムトークンのターゲットと状態を検証します
- 使用後にワンタイムトークンを無効化します
- 成功時にトークン情報またはユーザー ID を返します
- トークン検証エラーを丁寧に処理します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { checkToken } = handlers;
// 合成で使用
const authPipeline = compose(checkToken, someOtherHandler);
deleteToken
ユーザートークンを削除し、セッションを無効化します。
目的: セキュリティ検証を伴うトークン削除を処理します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますcontext.data.id
またはparams.requestBody.id
またはparams.requestQuery.id
: トークンを削除するユーザー IDcontext.request
: クッキーとヘッダーを含む Express リクエストオブジェクトcontext.db
: データベース接続context.configuration.authSecrets
: 認証シークレット
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は更新済みペイロード、またはエラー
ペイロード要件:
- ユーザー ID がコンテキストデータ、リクエストボディ、またはクエリパラメータのいずれかに含まれている必要があります
- トークン抽出のため
context.request
が利用可能である必要があります - トークン無効化のため
context.db
が利用可能である必要があります context.configuration.authSecrets
が利用可能である必要があります
主な機能:
- 複数のソースからユーザー ID を抽出します
- クッキーおよびベアラーヘッダーからのトークンを検証します
- 一致確認のためクッキーとベアラートークンを比較します
- アプリのアクセストークンのスーパー権限を処理します
- ユーザーが自分のトークンのみ削除できることを検証します
- データベースで削除時刻を設定してトークンを無効化します
- 成功時に更新済みペイロードを返します
- トークン検証および削除エラーを処理します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { deleteToken } = handlers;
// 合成で使用
const authPipeline = compose(deleteToken, someTerminator);
loginWithOnetimeToken
ワンタイムトークンを使用してユーザーを認証します。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: 一時的なワンタイムトークンによる認証を処理します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますparams.requestBody.onetimeToken
: 認証用ワンタイムトークンcontext.db
: データベース接続context.configuration.authSecrets
: 認証シークレット
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は更新済みペイロード、またはエラー
ペイロード要件:
- ワンタイムトークンがリクエストボディに含まれている必要があります
- トークン検証のため
context.db
が利用可能である必要があります context.configuration.authSecrets
が利用可能である必要があります
主な機能:
- リクエストボディからワンタイムトークンを検証します
- JWT を使用してトークンを復号・検証します
- トークンタイプが 'onetime' であることを検証します
- データベースでトークンの存在と有効性を確認します
- 成功後にトークンを無効化します
- トークンの目的が 'onetime-login' であることを検証します
- 成功時に更新済みペイロードを返します
- トークン検証とデータベースエラーを処理します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { loginWithOnetimeToken } = handlers;
// 合成で使用
const authPipeline = compose(loginWithOnetimeToken, createAccessToken, createRefreshToken, setResponseCookie, loginTerminator);
generateOnetimeToken
一時的なアクセスのためのワンタイムトークンを生成します。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: データベース保存を伴う安全なワンタイムトークンを作成します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますparams.requestBody.fingerprint
またはcontext.data.fingerprint
またはcontext.fingerprint
: セキュリティフィンガープリントparams.requestBody.target
またはcontext.data.target
またはcontext.target
: トークンのターゲットparams.requestBody.tokenData
またはcontext.data.tokenData
またはcontext.tokenData
: トークンデータオブジェクトcontext.request
: Express リクエストオブジェクトcontext.db
: データベース接続context.configuration.authSecrets
: 認証シークレット
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は生成されたトークン、またはエラー
ペイロード要件:
- トークンデータがオブジェクトとして提供されている必要があります
- リクエスト情報のために
context.request
が利用可能である必要があります - トークン保存のために
context.db
が利用可能である必要があります context.configuration.authSecrets
が利用可能である必要があります
主な機能:
- トークンデータがオブジェクトとして提供されていることを検証します
- 複数のソースからフィンガープリント、ターゲット、トークンデータを抽出します
- ドメイン、フィンガープリント、IP、ターゲットを用いてトークン検証を構築します
- JWT によって安全なワンタイムトークンを生成します
- 無効化フラグ付きでトークンをデータベースに保存します
- 成功時に生成されたトークンを返します
- トークン生成および保存エラーを処理します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { generateOnetimeToken } = handlers;
// 合成で使用
const authPipeline = compose(generateOnetimeToken, someTerminator);
restoreOnetimeToken
以前に無効化されたワンタイムトークンを復元します。
目的: 再利用のためにワンタイムトークンを再有効化します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますparams.requestBody.token
: 復元するトークンcontext.db
: データベース接続context.configuration.authSecrets
: 認証シークレット
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は復元されたトークン、またはエラー
ペイロード要件:
- トークンがリクエストボディに含まれている必要があります
- トークン更新のため
context.db
が利用可能である必要があります context.configuration.authSecrets
が利用可能である必要があります
主な機能:
- リクエストボディにトークンが含まれていることを検証します
- JWT を用いてトークンを復号・検証します
- トークンがステートフル(ワンタイムトークン)であることを検証します
- データベースでトークンの無効化状態を更新します
- 成功時に復元されたトークンを返します
- トークン検証およびデータベースエラーを処理します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { restoreOnetimeToken } = handlers;
// 合成で使用
const authPipeline = compose(restoreOnetimeToken, someTerminator);
invalidateOnetimeToken
ワンタイムトークンを無効化します。
目的: ワンタイムトークンを恒久的に無効化します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますparams.requestBody.token
またはcontext.data.token
またはcontext.token
: 無効化するトークンparams.requestBody.fingerprint
またはcontext.data.fingerprint
またはcontext.fingerprint
: セキュリティフィンガープリントcontext.db
: データベース接続context.configuration.authSecrets
: 認証シークレット
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は無効化されたトークン、またはエラー
ペイロード要件:
- トークンとフィンガープリントが提供されている必要があります
- トークン更新のため
context.db
が利用可能である必要があります context.configuration.authSecrets
が利用可能である必要があります
主な機能:
- トークンとフィンガープリントが提供されていることを検証します
- JWT を使用してトークンを復号・検証します
- トークンがステートフル(ワンタイムトークン)であることを検証します
- データベースでトークンの無効化状態を更新します
- 成功時に無効化されたトークンを返します
- トークン検証およびデータベースエラーを処理します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { invalidateOnetimeToken } = handlers;
// 合成で使用
const authPipeline = compose(invalidateOnetimeToken, someTerminator);
confirmEmail
認証トークンを使用してユーザーのメールアドレスを確認します。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: トークン検証を通じてメールアドレスを確認します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますcontext.data.tokenInfo.identityId
: トークン由来のアイデンティティ IDcontext.db
: データベース接続
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は確認結果、またはエラー
ペイロード要件:
context.data.tokenInfo.identityId
に identityId が存在している必要があります- ユーザー更新のため
context.db
が利用可能である必要があります
主な機能:
- コンテキストのトークン情報から identityId を抽出します
- identityId が文字列であることを検証します
- データベースでユーザーのメール認証ステータスを更新します
- 更新前にユーザーの存在を確認します
- すでにメールが認証済みでないことを検証します
- 成功時に確認結果を返します
- データベースエラーを丁寧に処理します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { confirmEmail } = handlers;
// 合成で使用
const authPipeline = compose(checkToken, confirmEmail, confirmEmailTerminator);
buildCheckConfirmEmailTokenPayload
メール確認トークン検証のためのペイロードを構築します。
目的: メール確認ワークフローのためのトークン検証を設定します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みます
戻り値: Result<RouteHandlerPayload, Error>
- 成功時は checkToken 設定
ペイロード要件:
- 特定の要件はありません - このハンドラーは常に成功します
主な機能:
- checkToken 設定をメール確認ターゲットとマージします
- ターゲットを TARGET_CONFIRM_EMAIL 定数に設定します
- 常に成功します(エラー条件なし)
- checkToken 設定を含む更新済みペイロードを返します
- メール確認ワークフローの準備ステップとして使用されます
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { buildCheckConfirmEmailTokenPayload } = handlers;
// 合成で使用
const authPipeline = compose(buildCheckConfirmEmailTokenPayload, checkToken, confirmEmail, confirmEmailTerminator);
sendVerificationEmail
ユーザーのメールアドレスに認証メールを送信します。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: トークン生成を伴うメール認証ワークフローを開始します
パラメータ:
payload
:RouteHandlerPayload
- リクエストコンテキストとデータを含みますcontext.data.identityId
またはparams.requestParams.identityId
またはcontext.data.identity.id
: アイデンティティ IDparams.requestBody.fingerprint
またはcontext.data.fingerprint
: セキュリティフィンガープリントcontext.db
: データベース接続context.mailService
: メール送信のためのメールサービスcontext.configuration.verifyEmailConfig
: メール認証設定context.configuration.authSecrets
: 認証シークレットcontext.configuration.jwtOpts
: JWT オプション
戻り値: Result<RouteHandlerPayload, Error>
- 成功時はメール結果とトークン、またはエラー
ペイロード要件:
- identityId が提供されている必要があります
- ユーザー検索とトークン保存のため
context.db
が利用可能である必要があります - メール送信のため
context.mailService
が利用可能である必要があります context.configuration.verifyEmailConfig
が有効化および設定されている必要がありますcontext.configuration.authSecrets
とjwtOpts
が利用可能である必要があります
主な機能:
- 複数のソースから identityId が提供されていることを検証します
- 設定でメール認証機能が有効化されていることを確認します
- メールサービスが利用可能であることを検証します
- メール設定(bodyTemplate、subject、urlTemplate)を検証します
- データベースからユーザーを取得し、メールが存在することを検証します
- 安全なワンタイム認証トークンを生成します
- 無効化フラグ付きでトークンをデータベースに保存します
- メールサービスを使用して認証メールを送信します
- 成功時にメール結果とトークンを返します
- 設定とメール送信エラーを処理します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { sendVerificationEmail } = handlers;
// 合成で使用
const authPipeline = compose(sendVerificationEmail, sendVerificationEmailTerminator);
🎯 認証ターミネーターハンドラー
loginTerminator
適切なレスポンス整形を使用してログインプロセスを終了します。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: トークンとユーザー情報を使用して成功したログイン応答を整形します
パラメータ:
result
:Result<RouteHandlerPayload, Error>
- ペイロードまたはエラーを含む結果context.data.accessToken
: 以前のハンドラーからのアクセストークンcontext.data.refreshToken
: 以前のハンドラーからのリフレッシュトークンcontext.data.identity
: ユーザーアイデンティティ情報
戻り値: 整形されたログイン応答オブジェクト
ペイロード要件:
context.data.accessToken
、refreshToken
、identity
が以前のハンドラーから利用可能である必要があります
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { loginTerminator } = handlers;
// 合成で使用
const authPipeline = compose(loginWithCredentials, createAccessToken, createRefreshToken, setResponseCookie, loginTerminator);
logoutTerminator
適切なステータスコードを使用してログアウトプロセスを終了します。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: 204 ステータスを使用して成功したログアウト応答を整形します
パラメータ:
result
:Result<RouteHandlerPayload, Error>
- ペイロードまたはエラーを含む結果
戻り値: 204 statusCode を含む応答オブジェクト
ペイロード要件:
- 特定の要件はありません - このターミネーターは常に 204 を返します
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { logoutTerminator } = handlers;
// 合成で使用
const authPipeline = compose(logout, logoutTerminator);
registerTerminator
適切なレスポンス整形を使用して登録プロセスを終了します。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: ユーザー情報を使用して成功した登録応答を整形します
パラメータ:
result
:Result<RouteHandlerPayload, Error>
- ペイロードまたはエラーを含む結果context.data.email
: 以前のハンドラーからのユーザーメールcontext.data.id
: 以前のハンドラーからのユーザー ID
戻り値: 整形された登録応答オブジェクト
ペイロード要件:
context.data.email
とid
が以前のハンドラーから利用可能である必要があります
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { registerTerminator } = handlers;
// 合成で使用
const authPipeline = compose(registerCredentials, registerTerminator);
confirmEmailTerminator
適切なステータスコードを使用してメール確認プロセスを終了します。
目的: 204 ステータスを使用して成功したメール確認応答を整形します
パラメータ:
result
:Result<RouteHandlerPayload, Error>
- ペイロードまたはエラーを含む結果context.data.confirmEmail
: 以前のハンドラーからの確認結果
戻り値: 204 statusCode を含む応答オブジェクト
ペイロード要件:
context.data.confirmEmail
が以前のハンドラーから利用可能である必要があります
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { confirmEmailTerminator } = handlers;
// 合成で使用
const authPipeline = compose(checkToken, confirmEmail, confirmEmailTerminator);
sendVerificationEmailTerminator
適切なステータスコードを使用してメール送信プロセスを終了します。
このハンドラーは非推奨です。
代替: 認証ブロックを使用してください
目的: 204 ステータスを使用して成功したメール送信応答を整形します
パラメータ:
result
:Result<RouteHandlerPayload, Error>
- ペイロードまたはエラーを含む結果context.data.sendVerificationEmail
: 以前のハンドラーからのメール送信結果context.data.token
: 以前のハンドラーからの生成されたトークン
戻り値: 204 statusCode を含む応答オブジェクト
ペイロード要件:
context.data.sendVerificationEmail
とtoken
が以前のハンドラーから利用可能である必要があります
使用例:
import { handlers } from '@nodeblocks/backend-sdk';
const { sendVerificationEmailTerminator } = handlers;
// 合成で使用
const authPipeline = compose(sendVerificationEmail, sendVerificationEmailTerminator);