認証されていないユーザとの Lightning Out アプリケーションの共有

スタンドアロン Aura 連動関係アプリケーションに ltng:allowGuestAccess インターフェースを追加すると、ユーザは Salesforce の認証を行わずにそのアプリケーションにアクセスできます。このインターフェースでは、Lightning Web コンポーネントを含むアプリケーションを作成し、あらゆる場所のすべてのユーザにリリースできます。

ユーザを Lightning Out エンドポイントで認証する場合は、セッションを $Lightning.use() で設定する必要があります。認証されていないユーザについて説明していますが、ユーザを認証する場合の要件を理解することは重要です。

ltng:allowGuestAccess インターフェースを使用して、スタンドアロン Aura 連動関係アプリケーションを Visualforce ページに追加できます。これは、Salesforce 外でホストされる Lightning Out アプリケーションで使用できます。

  • Visualforce 用の Lightning Web Components を使用すると、連動関係アプリケーションを Visualforce ページに追加してから、そのページを Salesforce タブ + Visualforce サイトで使用できます。その後、そのページへの公開アクセスを許可できます。
  • Lightning Out を使用すると、Lightning Out がサポートされているすべての場所、つまり、ほぼすべての場所に連動関係アプリケーションをリリースできます。

ltng:allowGuestAccess インターフェースは、デジタルエクスペリエンスが有効な組織でのみ使用可能で、Lightning Out アプリケーションは組織で定義したすべてのサイトエンドポイントに関連付けられています。

ltng:allowGuestAccess インターフェースを追加して Lightning アプリケーションにゲストユーザがアクセスできるようにすると、サイトで公開アクセスが有効になっているかどうかに関わらず、組織内のすべての Experience Cloud サイトから連動関係アプリケーションにアクセスできます。サイト URL を介したアクセスを防ぐことはできず、一部のサイトのみに対してアクセス可能にすることはできません。

アプリケーションのゲストアクセスへの開放は慎重に行ってください。ゲストアクセスが有効なアプリケーションは、サイトのゲストユーザプロファイルに設定したオブジェクトレベルセキュリティと項目レベルセキュリティ (FLS) を無視します。コンポーネントでは、オブジェクトを参照したり取得したりするときに、Apex メソッドで CRUD および FLS が自動的に適用されることはありません。このフレームワークでは、ユーザに CRUD アクセス権および FLS 表示権限がないレコードと項目は引き続き表示されます。ゲストアクセスが有効なアプリケーションで使用されるコード内のエラーによって、組織のデータが世界中に開放されてしまう可能性があります。

ltng:allowGuestAccess インターフェースをスタンドアロン Aura 連動関係アプリケーションに追加します。

個別のコンポーネントではなく、連動関係アプリケーションのみに ltng:allowGuestAccess インターフェースを追加できます。

次に、Lightning Out JavaScript ライブラリをページに追加します。

  • Visualforce 用の Lightning Web コンポーネントでは、<apex:includeLightning /> タグをページの任意の場所に追加するだけです。

  • Lightning Out では、サイトのエンドポイント URL を使用して、ライブラリを直接参照する <script> タグを追加します。

    たとえば、https://universalcontainers.force.com/ourstores/lightning/lightning.out.js のようになります。

最後に、連動関係アプリケーションを読み込んで有効化する JavaScript コードを追加します。このコードは標準の Lightning Out であり、エンドポイントに組織のいずれかのサイト URL を使用する必要がある重要な追加が含まれています。エンドポイント URL は、この例の https://universalcontainers.force.com/ourstores/ で示すように、https://YOURSITEDOMAIN/SITEURL の形式を取ります。

関連トピック