AEM では、Web ページでの Cookie の使用方法を設定および制御できるサービスを提供しています:
この機能を使用して、ページが Cookie の使用方法に関するユーザーの同意に従って動作するようにします。
Adobe Granite Opt-Out Service の設定によって、Web ページでの Cookie の使用方法を指定します。次の表に、設定可能なプロパティについて説明します。
サービスを設定するには、Web コンソールを使用するか、リポジトリに OSGi 設定を追加します。次の表では、どちらの方法でも必要になるプロパティについて説明しています。OSGi 設定の場合、サービス PID は com.adobe.granite.optout
です。
プロパティ名(Web コンソール) | OSGi のプロパティ名 | 説明 |
---|---|---|
Opt-Out Cookies | optout.cookies | ユーザーのデバイス上に存在する場合、そのユーザーが Cookie の使用に同意していないことを示す Cookie の名前。 |
Opt-Out HTTP Headers | optout.headers | 存在する場合、ユーザーが Cookie の使用に同意していないことを示す HTTP ヘッダーの名前。 |
White-List Cookies | optout.whitelist.cookies | Web サイトの正常動作にとって不可欠であり、ユーザーの同意なしに使用可能な Cookie のリスト。 |
クライアント側の JavaScript を使用して Adobe Granite Opt-Out Service を呼び出し、Cookie を使用できることを確認します。次のタスクを実行するには、Granite.OptOutUtil という JavaScript オブジェクトを使用します。
granite.utils クライアントライブラリフォルダーに、Granite.OptOutUtil オブジェクトが存在します。ページの JSP ヘッド部に次のコードを追加して、JavaScript ライブラリにリンクをインクルードするようにします。
<ui:includeClientLib categories="granite.utils" />
例えば、次の JavaScript 関数は、COOKIE_NAME Cookie の使用が許可されているかを判断し、その後その Cookie に書き込みます。
function writeCookie(value){
if (!Granite.OptOutUtil.maySetCookie("COOKIE_NAME"))
return;
if (value) {
value = encodeURIComponent(value);
document.cookie = "COOKIE_NAME=" + value;
}
}
Granite.OptOutUtil を使用して、Cookie の使用が許可されているかを判断できます。
存在する場合に、ユーザーが Cookie の使用に同意していないことを示す Cookie の名前を返します。
パラメーター
なし。
戻り値
Cookie 名の配列。
ユーザーの同意に関係なく使用可能な Cookie の名前を返します。
パラメーター
なし。
戻り値
Cookie 名の配列。
Cookie の使用の同意が得られていないことを示す Cookie がユーザーのブラウザーに保存されていないかを判断します。
パラメーター
なし。
戻り値
同意がないことを示す Cookie が見つかった場合はブール値 true
、同意がないことを示す Cookie が存在しない場合は値 false
。
ユーザーのブラウザー上で特定の Cookie を使用できるかを判断します。この関数は、isOptedOut
関数と、getWhitelistCookieNames
が返すリスト内に特定の特定の Cookie が含まれているかの判断を連結して使用する処理と同等です。
パラメーター
戻り値
cookieName
を使用できる場合はブール値 true
、cookieName
が使用できない場合は値 false
。