Lightning Out の連動関係
Lightning Out のマークアップ
Lightning Out からの認証
認証されていないユーザとの共有
Lightning Out の考慮事項と制限
スタンドアロン Aura 連動関係アプリケーションに ltng:allowGuestAccess インターフェースを追加すると、ユーザは Salesforce の認証を行わずにそのアプリケーションにアクセスできます。このインターフェースでは、Lightning Web コンポーネントを含むアプリケーションを作成し、あらゆる場所のすべてのユーザにリリースできます。
ユーザを Lightning Out エンドポイントで認証する場合は、セッションを $Lightning.use() で設定する必要があります。認証されていないユーザについて説明していますが、ユーザを認証する場合の要件を理解することは重要です。
Note
ltng:allowGuestAccess インターフェースを使用して、スタンドアロン Aura 連動関係アプリケーションを Visualforce ページに追加できます。これは、Salesforce 外でホストされる Lightning Out アプリケーションで使用できます。
ltng:allowGuestAccess インターフェースは、デジタルエクスペリエンスが有効な組織でのみ使用可能で、Lightning Out アプリケーションは組織で定義したすべてのサイトエンドポイントに関連付けられています。
ltng:allowGuestAccess インターフェースを追加して Lightning アプリケーションにゲストユーザがアクセスできるようにすると、サイトで公開アクセスが有効になっているかどうかに関わらず、組織内のすべての Experience Cloud サイトから連動関係アプリケーションにアクセスできます。サイト URL を介したアクセスを防ぐことはできず、一部のサイトのみに対してアクセス可能にすることはできません。
Important
アプリケーションのゲストアクセスへの開放は慎重に行ってください。ゲストアクセスが有効なアプリケーションは、サイトのゲストユーザプロファイルに設定したオブジェクトレベルセキュリティと項目レベルセキュリティ (FLS) を無視します。コンポーネントでは、オブジェクトを参照したり取得したりするときに、Apex メソッドで CRUD および FLS が自動的に適用されることはありません。このフレームワークでは、ユーザに CRUD アクセス権および FLS 表示権限がないレコードと項目は引き続き表示されます。ゲストアクセスが有効なアプリケーションで使用されるコード内のエラーによって、組織のデータが世界中に開放されてしまう可能性があります。
Note
ltng:allowGuestAccess インターフェースをスタンドアロン Aura 連動関係アプリケーションに追加します。
1<aura:application access="GLOBAL" extends="ltng:outApp"
2 implements="ltng:allowGuestAccess">
3
4 <aura:dependency resource="c:storeLocatorMain"/>
5
6</aura:application>個別のコンポーネントではなく、連動関係アプリケーションのみに ltng:allowGuestAccess インターフェースを追加できます。
Note
次に、Lightning Out JavaScript ライブラリをページに追加します。
Visualforce 用の Lightning Web コンポーネントでは、<apex:includeLightning /> タグをページの任意の場所に追加するだけです。
Lightning Out では、サイトのエンドポイント URL を使用して、ライブラリを直接参照する <script> タグを追加します。
1<script src="https://YOURSITEDOMAIN/SITEURL/lightning/lightning.out.js"></script>たとえば、https://universalcontainers.force.com/ourstores/lightning/lightning.out.js のようになります。
最後に、連動関係アプリケーションを読み込んで有効化する JavaScript コードを追加します。このコードは標準の Lightning Out であり、エンドポイントに組織のいずれかのサイト URL を使用する必要がある重要な追加が含まれています。エンドポイント URL は、この例の https://universalcontainers.force.com/ourstores/ で示すように、https://YOURSITEDOMAIN/SITEURL の形式を取ります。
1<script>
2 $Lightning.use(
3 "c:locatorApp", // name of the Lightning app
4 function () {
5 // Callback once framework and app loaded
6 $Lightning.createComponent(
7 "c:storeLocatorMain", // top-level component of your app
8 {}, // attributes to set on the component when created
9 "lightningLocator", // the DOM location to insert the component
10 function (cmp) {
11 // callback when component is created and active on the page
12 },
13 );
14 },
15 "https://universalcontainers.force.com/ourstores/", // Site endpoint
16 );
17</script>関連トピック
The Japanese Summer '24 guide is now live