Liferay Portal 6.2 EEでのreCAPTCHA v2の設定

この記事では、Liferay Portal 6.2でreCAPTCHAバージョン2を設定する方法の概要を説明します。 Googleはsunsetting reCAPTCHA v1で、2018年3月現在、すべてのv1 APIコールが動作しなくなっています。

今回の「End of Life」の発表を受けて、Liferay Portal 6.2 EEでは、 LPS-55941 (LPE-16253) でreCAPTCHAバージョン2を含むように更新されています。 Liferay Digital EnterpriseはすでにreCAPTCHA v2を利用しています。

決議

Liferay Portal 6.2 EEでreCAPTCHA v2を利用するには

  1. Fix Pack Portal-164 のインストール

  2. サーバーを停止し、fixpack portal-164以上をインストールしてください。 サーバーを再起動しないでください。

  3. これが本番サイトの場合は、ここで指示を完了させて、特定のドメインの公開鍵と秘密鍵を Google に要求してください。 https://www.google.com/recaptcha/admin#list

  4. 非運用環境の場合は、GoogleのreCAPTCHAサポートサイトにアクセスしてテスト用の鍵を受け取ってください。 https://developers.google.com/recaptcha/docs/faq

  5. 既存の portal-ext.properties ファイルをバックアップします。

  6. portal-ext.propertiesを変更して、reCAPTCHAエンジンとステップ2または3でGoogleが提供したキーを利用するようにしてください( captcha.engine.recaptcha.url.*プロパティはアップグレードの一環として変更され、参考のために以下に含まれています)。 これらのプロパティはユーザー設定を必要としません)。

       # Set the engine used to generate captchas. reCAPTCHA uses an external
    
       # service that must be configured independently but provides an audible
    
       # alternative which makes the captcha accessible to the visually impaired.
    
       # See https://www.google.com/recaptcha/admin/create for details.
    
       #
    
       captcha.engine.impl=com.liferay.portal.captcha.recaptcha.ReCaptchaImpl
    
       #
    
       # reCAPTCHA
    
       #
    
       captcha.engine.recaptcha.key.private={enter-your-private-key-here}
    
       captcha.engine.recaptcha.key.public={enter-your-public-key-here}
    
       captcha.engine.recaptcha.url.script=https://www.google.com/recaptcha/api.js
    
       captcha.engine.recaptcha.url.noscript=https://www.google.com/recaptcha/api/fallback?k=
    
       captcha.engine.recaptcha.url.verify=https://www.google.com/recaptcha/api/siteverify
    
  7. アカウントの作成、パスワードのリセット、メッセージボードの活動のためにキャプチャが必要な場合は、portal-ext を修正して、必要なキャプチャチェックを設定してください。 デフォルトのポータルプロパティは以下の通りで、必要に応じて変更する必要があります。
       #
    
       # Set the maximum number of captcha checks per portlet session. Set this
    
       # value to 0 to always check. Set this value to a number less than 0 to
    
       # never check. Unauthenticated users will always be checked on every request
    
       # if captcha checks is enabled.
    
       #
    
       captcha.max.challenges=1
    
    
       #
    
       # Set whether or not to use captcha checks for the following actions.
    
       #
    
       captcha.check.portal.create_account=true
    
       captcha.check.portal.send_password=true
    
       captcha.check.portlet.message_boards.edit_category=false
    
       captcha.check.portlet.message_boards.edit_message=false
  8. portal-ext ファイルを保存し、サーバを再起動します。

  9. fixpack をインストールした後に reCAPTCHA リクエストに初めてアクセスする場合は、ユーザーはブラウザのキャッシュをクリアして、リクエストが正しく機能するようにする必要があります。

注: Fix Pack Portal-164 をアンインストールする必要がある場合は、以前のバージョンの portal-ext を復元する必要があります。 v1 reCAPTCHAキーは、reCAPTCHA要求が正しく機能するために、ステップ6で追加されたv2 reCAPTCHAキーを置き換える必要があります。

この記事は役に立ちましたか?
1人中1人がこの記事が役に立ったと言っています