この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

未認証ユーザとの Lightning Out アプリケーションの共有

Lightning Out 連動関係アプリケーションに ltng:allowGuestAccess インターフェースを追加すると、ユーザは Salesforce の認証を行わずにそのアプリケーションにアクセスできます。このインターフェースでは、Aura コンポーネントを含むアプリケーションを作成してあらゆる場所およびあらゆるユーザにリリースできます。ユーザを Lightning Out エンドポイントで認証する場合は、セッションを $Lightning.use() で設定する必要があります。
ltng:allowGuestAccess インターフェースを持つ Lightning Out 連動関係アプリケーションは、Visualforce の Lightning コンポーネントおよび Lightning Out で使用できます。
  • Visualforce の Lightning コンポーネントを使用すると、Lightning アプリケーションを Visualforce ページに追加してから、そのページを Salesforce タブ と Visualforce コミュニティで使用できます。その後、そのページへの公開アクセスを許可できます。
  • Lightning Out を使用すると、Lightning Out がサポートされているすべての場所、つまり、ほぼすべての場所に Lightning アプリケーションをリリースできます。

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

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

重要

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

警告

Lightning Out Visualforce の Lightning コンポーネント

使用方法

まず、ltng:allowGuestAccess インターフェースを Lightning Out 連動関係アプリケーションに追加します。次に例を示します。
1<aura:application access="GLOBAL" extends="ltng:outApp" 
2    implements="ltng:allowGuestAccess"> 
3
4    <aura:dependency resource="c:storeLocatorMain"/>
5
6</aura:application>

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

メモ

次に、Lightning Out JavaScript ライブラリをページに追加します。
  • Visualforce の Lightning コンポーネントでは、<apex:includeLightning /> タグをページの任意の場所に追加するだけです。
  • Lightning Out では、コミュニティのエンドポイント URL を使用して、ライブラリを直接参照する <script> タグを追加します。次に例を示します。
    1<script src="https://yourCommunityDomain/communityURL/lightning/lightning.out.js"></script>

    例: https://universalcontainers.force.com/ourstores/lightning/lightning.out.js

最後に、Lightning アプリケーションを読み込んで有効化する JavaScript コードを追加します。このコードは標準の Lightning Out であり、エンドポイントに組織のいずれかのコミュニティ URL を使用する必要がある重要な追加が含まれています。エンドポイント URL は、https://yourCommunityDomain/communityURL/ の形式を取ります。次のサンプルでは、関連する行が強調表示されています。

1<script>
2    $Lightning.use("c:locatorApp",    // name of the Lightning app
3        function() {                  // Callback once framework and app loaded
4            $Lightning.createComponent(
5                "c:storeLocatorMain", // top-level component of your app
6                { },                  // attributes to set on the component when created
7                "lightningLocator",   // the DOM location to insert the component
8                function(cmp) {
9                    // callback when component is created and active on the page
10                }
11            );
12        },
13        'https://universalcontainers.force.com/ourstores/'  // Community endpoint
14    );
15</script>