プロジェクト概要
外部WebサイトとSalesforceをシームレスに統合し、ユーザーにパスワードを意識させないモダンな登録・ログイン体験を提供する。その具体的なアプローチとして、「たてはまペットクリニック」の構築プロセスを全5回の連載としてまとめました。
本連載で構築するシステムの最大のポイントは、Salesforceを完全な「裏方(IDaaS)」として機能させ、OAuthプロトコル特有の画面遷移(リダイレクト)を排除した点にあります。B2C特有の複雑なデータ(個人取引先、ペット、予約)の生成と、OTP(ワンタイムパスワード)によるセキュアなパスワードレス認証を、1つのReactドロワー内の状態(State)管理だけで完結させています。
本連載では、React(Vite)とHeadless Identity APIを組み合わせたアーキテクチャを題材に、公式ドキュメントに記載されている事実(仕様)と、実際の開発現場で直面した推測・見解(トレードオフやハマりどころ)を分けて解説しています。
完成イメージ
React サイト

Experience Cloud サイト

動画(ログイン)
連載記事一覧
Vol.1:アーキテクチャ・要件定義編
React × Headless Identityによる体験設計の全体像です。Salesforceへの登録・ログイン処理から画面遷移を完全に排除するアーキテクチャの革新性と、フロントエンド・バックエンド間のデータモデル設計(Person Account, Pet__c, Appointment__c)におけるトレードオフを解説します。
Vol.2:バックエンド・データ処理編
1トランザクションで複数オブジェクトを生成するApexハンドラーの実装です。Auth.HeadlessSelfRegistrationHandlerにおけるデータパース処理や、DML操作の落とし穴(MIXED_DML_OPERATION)、コミュニティユーザー特有のオブジェクト権限エラーの回避策を提示します。
Vol.3:認証・インフラ設定編
外部クライアントアプリケーション(ECA)とパスワードレス認証の設定に焦点を当てます。OAuthポリシーで「管理者が承認したユーザーは事前承認済み」を選択する理由や、最終的なUIセッション化に必須となる web スコープ設定漏れによる403エラーなど、インフラ設定特有のハマりどころを整理しています。
Vol.4:フロントエンド実装編
React環境でのUI実装とCORS制約突破の手法です。
スマート6桁OTPコンポーネントの実装仕様に加え、Vite Proxyを利用した302リダイレクトのハック、OTP APIの厳格なレートリミット(1時間ブロック)を回避するためのモック関数の組み込みなど、開発効率を落とさない実践的なテクニックを紹介します。
Vol.5:マイページ連携・E2E検証編
Headless認証フローの着地点であるUIセッション化について解説します。
Single-Access UI Bridge APIの利用によるfrontdoor_uriの取得と遷移、PKCEのパースエラー対策、そしてReact等のモダンフロントエンド特有の「プリフェッチによるワンタイムトークン消費」を防ぐ実装アプローチを詳解します。





