null Liferay 7でCookie使用同意ポップアップを実装する

こんにちは。おおたにです。

 

昨今、GDPR対応の一環としてカスタマーポータル等のWebサイトにCookie利用同意の仕組みを追加したいという要望を多く伺います。今回は、Liferay 7でCookie使用同意ポップアップを実装する方法を紹介します。実装にあたっては、オープンソースのCookie利用通知プラグインCookie Consentを利用し、LiferayはDXP 7.2を使います。

 

Cookie Consentとは

Cookie Consentは、Cookie利用同意のポップアップを表示するためのオープンソースのJavaScriptプラグインで、MITライセンスのもとで無償利用できます。Cookie Consentを用いると、Cookieを利用する旨の表示や、オプトイン、オプトアウト等の必要最低限の機能を実装することができます。詳しい機能についてはCookie Consentのドキュメントgithub上のリポジトリを参照してください。

なお、無償利用可能なオープンソース版以外にホステッド版もあり、サードパーティCookieの自動ブロックなど様々な機能が提供されます。ホステッド版には利用規模や機能に応じて無償・有償複数のプランが用意されています。

 

Cookie使用同意ポップアップを実装する

では実際にLiferayのサイトページにCookie使用同意ポップアップを実装してみましょう。実装と言ってもやることはCookie ConsentのタグをLiferayのサイトページに埋め込むだけです。以下、順を追って見ていきましょう。

 

Cookie Consentのタグを用意する

Cookie ConsentのタグはDonwload Cookie Consentのページから簡単に生成することができます。"Start Coding"をクリックして以下の項目を設定すると、自動的にタグが生成されます。画面上にもポップアップのサンプルが表示されるので、実際の表示を見ながら設定を行うことができます。

  • Position : ポップアップの表示場所と表示方法
  • Layout : ポップアップのデザイン
  • Palette : ポップアップや文字、ボタンの色
  • Learn more link : プライバシーポリシー等へのリンクのURL
  • Compliance type : ポップアップの挙動(Cookie利用同意表示のみ、オプトイン、オプトアウトから選択)
  • Custom text : ポップアップの文言

headタグとbodyタグに埋め込む2つのタグが生成されるのでコピーしておきます。

なお、Cookie Consentには上記設定以外にも様々な設定項目/APIが用意されています(こちらのドキュメントをご覧下さい)。例えばオプトイン/オプトアウトで拒否したCookieを削除したいといような場合に利用するコールバックフックなどもあります。また、上記のツールを使うとCDNからjsやcssを読み込みますが、ソースコードを取得して自サイトにjsとcssをホストすることもできます。

 

Liferayのサイトページにタグを埋め込む

次に、用意したタグをLiferayのサイトページに埋め込みます。

指示通りに厳密に埋め込む場合はテーマを開発して埋め込む必要があります(詳しくは「Liferayのサイトにタグを埋め込む」の「全てのページにタグを埋め込む」をご覧ください)。ここでは、簡易的に埋め込む方法を紹介したいと思います。

headタグへの埋め込み

サイト管理者でログインし、目的のサイトの設定→サイト設定→詳細設定→分析を開き、「Piwik」欄に以下の2行をペーストして保存します。これでサイト内の全ページに埋め込みが行われます。本来はアクセス解析ツールPiwikのタグを埋め込むためのものですが、実質的にはheadタグへのタグ埋め込みを行うだけなので流用しています。

  • headタグに埋め込むタグ<link rel="stylesheet" type="text/css" href="..." />
  • bodyタグに埋め込むタグの一部<script src="..." data-cfasync="false"></script>

bodyタグへの埋め込み

目的のサイトのサイトビルダー→サイトページを開き、公開ページもしくは非公開ページの右側のギアアイコンをクリックします。詳細設定タブに移動し、「ページの下に実行されるJavaScriptを取り付ける。」欄にbodyタグに埋め込む残りのスクリプトをペーストして保存します。その際、最初の<script>と最後の</script>を除くようにしてください。これで、公開ページもしくは非公開ページ全体に埋め込みが行われます。

以上でタグ埋め込みはおしまいです。簡単ですね!

 

動作確認してみよう

では、動作確認してみましょう。タグを埋め込んだサイトページにアクセスすると、Cookie利用同意のポップアップが表示されるはずです。

一度同意するとCookie cookieconsent_status にdismissがセットされ、ポップアップが表示されなくなります。再度テストしたい場合はブラウザの開発者ツールでこのCookieを削除してください。

 

今回の記事は以上です。簡単に設定することができますので、是非皆さんもお試しください。

RANKING
2021.1.08
2020.12.28
2020.12.01
2020.10.30
2020.12.18