🔗 OAuth 機能ブロック
OAuth フィーチャーブロックは、OAuth 認証フローのための完全な事前構成機能を備えています。これらのフィーチャーはスキーマとルートを組み合わせて、OAuth 開始とコールバック処理のためのすぐに使用可能なエンドポイントを作成します。
🎯 概要
OAuth 機能ブロックは次のことを目的として設計されています:
- プロバイダーベースログインのための完全な OAuth ワークフローを提供する
- 検証されたリクエスト処理のためにスキーマとルートを組み合わせる
- 完全な OAuth フローを調整するためにドライバー/ブロックと統合する
📋 機能構造
各 OAuth 機能は、一貫した構成パターンを従います:
- Schema: 入力データとパラメーターを検証する
- Route: ブロック構成を使用して HTTP エンドポイントを提供する
- Composition:
compose
を使用してスキーマとルートを組み合わせる
🔧 利用可能な OAuth 機能
googleOAuthFeature
スキーマ検証とルーティングを使用した Google OAuth 認証フィーチャー。
目的: Google OAuth フローを開始し、プロバイダーの同意にリダイレクトします。
構成:
- スキーマ:
googleOauthSchema
— クエリパラメーター(fp
、purpose
、redirectUrl
、typeId
)を検証し、空のリクエストボディを強制する - ルート:
googleOAuthRoute
— Google OAuth 開始を処理する
使用例:
import { features } from '@nodeblocks/backend-sdk';
// 直接使用:
app.use('/api', defService(features.googleOAuthFeature));
// データベースを使用(ハンドラーが dataStores を必要とする場合):
app.use('/api', defService(partial(features.googleOAuthFeature, [{ dataStores: db }])));
API エンドポイント: GET /api/auth/oauth/google
googleOAuthCallbackFeature
コールバック処理用のルーティングを使用した Google OAuth コールバックフィーチャー。
目的: プロバイダーのコールバックを認証し、ログイン状態を検証し、最終リダイレクトを実行することで OAuth フローを完了します。
構成:
- ルート:
googleOAuthCallbackRoute
— Google OAuth コールバック検証とユーザープロセスを処理する
使用例:
import { features } from '@nodeblocks/backend-sdk';
// 直接使用:
app.use('/api', defService(features.googleOAuthCallbackFeature));
// データベースを使用(ハンドラーが dataStores を必要とする場合):
app.use('/api', defService(partial(features.googleOAuthCallbackFeature, [{ dataStores: db }])));
API エンドポイント: GET /api/auth/oauth/google/callback