【必見】Experience CloudでLWRを採用すべき決定的な理由

ペットクリニックサイト構築日誌:React × Headless Identity連携の実践ガイド

プロジェクト概要

外部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等のモダンフロントエンド特有の「プリフェッチによるワンタイムトークン消費」を防ぐ実装アプローチを詳解します。

タイトルとURLをコピーしました
B-ONE 案内エージェント