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

🛣️ OAuth ルートブロック

OAuth ルートブロックは、NodeBlocks アプリケーションのサードパーティ OAuth フローのための事前構成 HTTP エンドポイントを提供します。これらのルートはブロック、ログ、エラーハンドリングを構成して、堅牢な OAuth エクスペリエンスを提供します。最初のプロバイダーは Google です;追加のプロバイダーは同じパターンを従います。


🎯 概要

OAuth ルートブロックは次のことを目的として設計されています:

  • 開始とコールバック処理のための OAuth エンドポイントを公開する
  • 監視のためにログを使用してハンドラーを構成する
  • 一貫した HTTP ステータスマッピングでエラーハンドリングを一元化する
  • クエリパラメーターのためのスキーマ検証を活用する

📋 ルート構造

各 OAuth ルートは、一貫したパターンを従います:

  • HTTP メソッド: 操作タイプ(GET)
  • パス: エンドポイント URL
  • ブロック: OAuth フロー調整のための構成された関数チェーン
  • バリデーター: 認証と認可チェック(OAuth ルートではなし)

🔧 利用可能な OAuth ルート

googleOAuthRoute

GET /auth/oauth/google を介して Google OAuth 認証フローを開始します。

目的: OAuth ドライバーに委任し、状態を準備することで Google OAuth フローを開始します。

ルート詳細:

  • メソッド: GET
  • パス: /auth/oauth/google
  • 認証: 不要

ブロック:

  • requestGoogleOAuth - Google OAuth フローを開始し、署名された状態を生成

バリデーター: なし(スキーマによって検証が処理される)

使用例:

import { compose } from '@nodeblocks/backend-sdk';

// フィーチャー構成で使用:
export const googleOAuthFeature = compose(googleOauthSchema, googleOAuthRoute);

googleOAuthCallbackRoute

GET /auth/oauth/google/callback を介して Google OAuth コールバックを処理し、ユーザーをリダイレクトします。

目的: プロバイダーのコールバックを認証し、ログイン状態を検証し、トークンを発行し、ユーザーをリダイレクトすることで OAuth フローを完了します。

ルート詳細:

  • メソッド: GET
  • パス: /auth/oauth/google/callback
  • 認証: 不要

ブロック:

  • authenticateGoogleOAuth - プロバイダーのコールバックを検証し、ユーザープロフィールを読み取る
  • extractOAuthLoginState - 暗号化されたトークンから OAuth ログイン状態を抽出し、検証
  • verifyGoogleOAuth - プロバイダープロフィールに基づいてアイデンティティを解決または作成
  • generateRedirectURL - トークンを使用して署名されたリダイレクト URL を生成
  • redirectTo - クライアントへの HTTP リダイレクトを発行

バリデーター: なし(スキーマによって検証が処理される)

使用例:

import { compose } from '@nodeblocks/backend-sdk';

// フィーチャー構成で使用:
export const googleOAuthCallbackFeature = compose(
googleOauthCallbackSchema,
googleOAuthCallbackRoute
);