4番手の執筆者「Ogawa」です。『令和』最初の投稿になります。新しい時代、GeneXusという開発ツールがより一層、世の中に浸透していく様に願っています。
認証画面などに、よく見かけるGoogleの画像認証( 「私はロボットではありません」 → 〇〇○の画像をすべて選択してください というもの )を、GeneXusで使用する方法を、ご紹介します。
本ブログの記事「暗号化」や「ログイン機能」の記事を組み合わせると、より強力な認証機能が出来るかもしれません。
GeneXus Marketplaceにて提供されているユーザーコントロール「gpxReCAPTCHA」を使用します。
※検証には、GeneXus15U12を使用しています。(GeneXus16U2でも、動作可能である事を確認しています。)
① ユーザーコントロールのダウンロード & GeneXusへインストール(手動)
- ユーザーコントロール「gpxReCAPTCHA」配布ページ (※別タブで開きます。) にアクセスし、ダウンロードをします。
https://marketplace.genexus.com/product.aspx?recaptcha,en - ダウンロードした圧縮ファイルを解凍し、GeneXusインストールフォルダのユーザーコントロールフォルダ( 例 C:\Program Files (x86)\GeneXus\GeneXus15JP_U12\UserControls )に配置します。
- GeneXusを閉じた状態で、コマンドプロンプトを起動します。
- カレントディレクトリ(例 cd C:\Program Files (x86)\GeneXus\GeneXus15JP_U12)をGeneXusインストールフォルダに移動します。
- GeneXus.exe /install コマンド を実行します。
- GeneXus起動後、メニューバー(GeneXus上部)→ ツール → エクステンションマネージャ をクリックします。
- 一覧のユーザーコントロール部の中に下記の「GProjex re CAPTCHA V2」が存在する場合は、インストール出来ています。いない場合は、再度手順を確認して下さい。
② 使用するためキー取得
Googleの「reCAPTCHA」を使用するためには、専用サイトにて申請(無償)する必要があります。
https://www.google.com/recaptcha/intro/v3.html (外部サイト※別タブで開きます)
(※)申請には、Googleアカウントが必要です。
(※)Googleの「reCAPTCHA」の仕様について、Google(提供元)のサイトを参照下さい。
(※)下記の手順は、2019年3月時点のものです。
1)画面上部の「Admin console」をクリックします。
2 )下記に基づいて、入力及び選択します。
入力を終えたら、「送信」をクリックします。
3)登録画面が表示されます。サイトキー及び、シークレットキーは必要になるため、控えておきます。
登録は以上で完了です。実装手順に進みます。
③ GeneXusのWeb画面に実装
1)適当なWebパネルオブジェクトを作成します。
2)WebFormにツールボックスより「GProjex re CAPTCHA V2」を選択してドラックします。 ※ツールボックスにいない場合、①のユーザーコントロールインストール手順を確認してみて下さい。
3)WebForm内のユーザーコントロールをクリックし、プロパティを確認します。
Site Key | Google reCAPTCHAで登録した「サイトキー」 |
Response | g-recaptcha-response |
上記をそれぞれ入力します。
4)EVENTタブに移動します。サンプルコードがコメントされているため、外します。
・ 7行目の1番目の引数にGoogle reCAPTCHAで登録した「シークレットキー」を記入します。
・ 8行目のIF文はTRUE=認証成功|FALSE=認証失敗→認証を再ロードします。
上記のシークレットキーを記入したら、実装は完了です。必要に応じて、ロジック追加して、ログイン認証画面などでお試し下さい。
5)実行例
キー情報が誤っていると下記の表示になります。また使用するドメインが未登録の場合もエラーになります。
◇ 本ブログ記事(※別タブで開きます。)
下記の記事を参照すると、ログイン認証画面が作れるかも!!
・ 文字列(パスワード)の暗号化
・ ログイン機能☆サンプルKB付き☆
・ パスワードの目隠し入力
今回は以上です、最後までご覧頂きありがとうございました。「Ogawa」の次回の記事投稿は、5月27日頃を予定しています。