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

🔗 OAuthブロック

OAuthブロックは、サードパーティのOAuthプロバイダーをNodeBlocksサービスに統合するための包括的な機能を提供します。現在サポートされているプロバイダー: Google、Twitter、LINE。設計により、他のプロバイダーへの拡張が可能です。


🎯 概要

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

  • 複数のOAuthプロバイダーをサポート (Google、Twitter、LINE)
  • OAuth開始を処理 - セキュアな状態管理を含む
  • OAuthコールバックを処理 - ユーザーを認証
  • プロバイダープロファイルをマッピング - アイデンティティにマッピングし、アカウントを作成または解決
  • セキュアなリダイレクトURLを生成 - 認証トークンを含む
  • 柔軟な認証フローを有効化 - サインアップとログイン用

📦 ブロックタイプ

🔍 スキーマ

OAuth関連エンドポイントの検証と記述に使用されるJSON Schema/OpenAPI定義:

  • fpQueryParameter: フィンガープリント追跡パラメータ
  • purposeQueryParameter: フロー目的 (oauth-login | oauth-signup)
  • redirectUrlQueryParameter: OAuth後のクライアントリダイレクトURL
  • typeIdQueryParameter: オプションのアイデンティティタイプ識別子
  • stateQueryParameter: OAuthコールバック状態検証
  • googleOauthSchema: OAuth開始スキーマ (クエリのみ、空のボディ)
  • twitterOauthSchema: OAuth開始スキーマ (クエリのみ、空のボディ)
  • lineOauthSchema: OAuth開始スキーマ (クエリのみ、空のボディ)

OAuthスキーマを表示 →

🔧 ブロック

OAuthフローオーケストレーション用の純粋なビジネスロジック関数:

Google OAuthブロック:

  • requestGoogleOAuth: 状態管理とトークン生成を含むGoogle OAuth認証フローを開始し、プロバイダーの同意リダイレクトに委譲
  • authenticateGoogleOAuth: Google OAuthコールバックを認証し、プロバイダーレスポンスからユーザープロファイルを読み取る
  • verifyGoogleOAuth: Googleプロバイダープロファイルをアイデンティティにマッピングし、サインアップ時に新しいアイデンティティを作成、またはログイン時に既存のアイデンティティを解決

Twitter OAuthブロック:

  • prepareTwitterCallbackState: フィンガープリント、目的、リダイレクトURLを含むTwitter OAuthコールバック用の状態オブジェクトを構築
  • requestTwitterOAuth: 状態管理を含むTwitter OAuth認証リクエストを開始
  • authenticateTwitterOAuth: Twitter OAuthコールバックを認証し、プロバイダーレスポンスからユーザープロファイルを読み取る
  • verifyTwitterOAuth: プロバイダーIDを使用してTwitterプロバイダープロファイルをアイデンティティにマッピングし、フロー目的に基づいてアイデンティティを作成または解決

LINE OAuthブロック:

  • requestLineOAuth: 状態トークン生成とプロバイダー委譲を含むLINE OAuth認証フローを開始
  • authenticateLineOAuth: LINE OAuthコールバックを認証し、プロバイダーレスポンスからユーザープロファイルを読み取る
  • verifyLineOAuth: LINEプロバイダープロファイルをアイデンティティにマッピングし、サインアップ時に新しいアイデンティティを作成、またはログイン時に既存のアイデンティティを解決

OAuthユーティリティブロック:

  • extractOAuthLoginState: フィンガープリント、目的、リダイレクトURLを含むOAuth状態トークンをデコードして検証
  • generateRedirectURL: 認証成功後にクライアントアプリケーション用のワンタイムまたはアクセストークンを含むセキュアなリダイレクトURLを構築

OAuthブロックを表示 →

🛣️ ルート

OAuth開始とコールバック用のHTTPエンドポイント定義:

  • googleOAuthRoute: GET /auth/oauth/google — 状態管理を含むGoogle OAuthフローを開始し、プロバイダーの同意にリダイレクト
  • googleOAuthCallbackRoute: GET /auth/oauth/google/callback — Google OAuthコールバックを処理し、ユーザーを認証し、トークンを含むクライアントアプリケーションにリダイレクト
  • twitterOAuthRoute: GET /auth/oauth/twitter — 状態管理を含むTwitter OAuthフローを開始し、プロバイダーの同意にリダイレクト
  • twitterOAuthCallbackRoute: GET /auth/oauth/twitter/callback — Twitter OAuthコールバックを処理し、ユーザーを認証し、トークンを含むクライアントアプリケーションにリダイレクト
  • lineOAuthRoute: GET /auth/oauth/line — 状態管理を含むLINE OAuthフローを開始し、プロバイダーの同意にリダイレクト
  • lineOAuthCallbackRoute: GET /auth/oauth/line/callback — LINE OAuthコールバックを処理し、ユーザーを認証し、トークンを含むクライアントアプリケーションにリダイレクト

OAuthルートを表示 →

🚀 機能

エンドツーエンドのOAuthフロー用にスキーマ、ルート、ブロックを組み合わせた構成された機能:

  • googleOAuthFeature: スキーマ検証とプロバイダー同意リダイレクト用のルーティングを含む完全なGoogle OAuth開始ワークフロー
  • googleOAuthCallbackFeature: ユーザー認証とクライアントアプリケーションへのリダイレクトを含む完全なGoogle OAuthコールバック処理ワークフロー
  • twitterOAuthFeature: スキーマ検証とプロバイダー同意リダイレクト用のルーティングを含む完全なTwitter OAuth開始ワークフロー
  • twitterOAuthCallbackFeature: ユーザー認証とクライアントアプリケーションへのリダイレクトを含む完全なTwitter OAuthコールバック処理ワークフロー
  • lineOAuthFeature: スキーマ検証とプロバイダー同意リダイレクト用のルーティングを含む完全なLINE OAuth開始ワークフロー
  • lineOAuthCallbackFeature: ユーザー認証とクライアントアプリケーションへのリダイレクトを含む完全なLINE OAuthコールバック処理ワークフロー

OAuth機能を表示 →


🔗 関連ドキュメント