Google Recaptcha 認証を使用した Vue 実装例

Google Recaptcha 認証を使用した Vue 実装例

最近のプロジェクトでは、Google ロボット認証を使用する必要があります。これには VPN が必要ですが、商用利用には会社が申請した Google アカウント (自分で申請しても無駄です) も必要です。このアカウントを使用して秘密鍵を申請し、秘密鍵を取得したら実行できます。
コードの一部は次のとおりです。

1. まず、私がカプセル化したのは Google ロボット検証コンポーネントです。

<テンプレート>
    <div ref="grecaptcha">
    </div>
    <!-- <div id="ロボット"></div> -->

</テンプレート>
<script src="http://www.recaptcha.net/recaptcha/api.js?οnlοad=ReCaptchaLoaded&render=explicit&hl=en" 非同期遅延></script>
<スクリプト>
エクスポートデフォルト{
  props: ["sitekey"], // 転送する秘密鍵mounted() {
    window.ReCaptchaLoaded = this.loaded;
    var スクリプト = document.createElement("スクリプト");
    スクリプト.src =
      「https://recaptcha.net/recaptcha/api.js?οnlοad=ReCaptchaLoaded&render=explicit」;
    document.head.appendChild(スクリプト);
  },
  メソッド: {
    ロードされた() {
       window.grecaptcha.render(this.$refs.grecaptcha, {
        サイトキー: this.sitekey,
        /**
        * res は Google の検証ステータスを返します。
        * 成功した場合は文字列を返します * 失敗した場合は文字列は返されません * したがって、検証ステータスは文字列に基づいて決定されます */
        コールバック: res =>{// true - 検証成功// false - 検証失敗res.length > 0 ? this.$emit("getValidateCode", false) : his.$emit("getValidateCode", true)
        }
      });
      // grecaptcha.render('ロボット', {
      // サイトキー: this.sitekey,
      // /**
      // * res は Google の確認ステータスを返します。
      // * 成功した場合は文字列を返します// * 失敗した場合は文字列を返しません// * したがって、文字列に基づいて検証ステータスを判断します// */
      // theme: 'light', // テーマカラー、ライトとダークが利用可能 // size: 'normal', // サイズルール、ノーマルとコンパクトが利用可能 // callback: res => {
      // res.length > 0 ? this.$emit("getValidateCode", true) : this.$emit("getValidateCode", false)
      // // true - 認証成功 // false - 認証失敗 // }
      // }); 
     
    }
  },
};
</スクリプト>
<スタイル>

</スタイル>

2. 必要な場所で使用:

<テンプレート>
  <div>
    <div class="home-content">
      <div class="home-content-img">
        <!-- <div class="home-content-imgtop"> -->
          <img src="../../assets/image/202010_JP NIGHTストア販促資料.002.png" alt="">
          <img src="../../assets/image/202010_JP NIGHTストア販促資料.003.png" alt="">
        <!-- </div> -->
        <!-- <div class="home-content-imgbottom"> -->
          <img src="../../assets/image/202010_JP NIGHTストア販促資料.004.png" alt="">
          <img src="../../assets/image/202010_JP NIGHTストア販促資料.005.png" alt="">
        <!-- </div> -->
      </div>
      <div class="home-content-bottom">
        <p> <a href="http://www.jp-night.com/terms.html" rel="external nofollow" >利用規約</a>および<a href="http://www.jp-night.com/privacy.html" rel="external nofollow" >プライバシーポリシー</a>に同意してください。</p>
        <div class="content-google">
          <google-recaptcha ref="recaptcha" :sitekey="key" @getValidateCode='getValidateCode' v-model="validateCode"></google-recaptcha>
        </div>
        <div class="ログイン">
          <button :class="isNext ?'login-botton-background':'login-botton'" :disabled="isNext" @click="login()">ショップのお知らせ</button>
        </div> 
      </div>
      
    </div>
  </div>
  
</テンプレート>

<スクリプト>
'../../common/module/GoogleRecaptcha' から GoogleRecaptcha をインポートします。
エクスポートデフォルト{
  データ() {
    var checkCode = (ルール、値、コールバック) => {
      (値 == false)の場合{
        callback(new Error('人間と機械の検証を実行してください'));
      } それ以外 {
        折り返し電話();
      }
    };
    戻る {
      キー: '6Ld9xxgaAAAAAI4xn7seMCmqbxIpVsJ_dwrZu9z1'、
      検証コード: false、
      isNext:false
    };
  },
  作成された(){
    
  },
  マウントされた(){
    
  },
  コンポーネント:{
    Google Recaptcha
  },
  方法:{
    ログイン(){
      sessionStorage.setItem('トークン',true)
      
      this.$router.push({
        パス: "/shops",
        クエリ: { 出力: true }
      })
    },
    getValidateCode(値) {
      console.log(値);
      
      this.isNext = 値
    },
  }
};
</スクリプト>

<style lang="scss" スコープ>
@import "./css/pc.css";
@import "./css/ipad.css";
@import "./css/phone.css";
#rc アンカーコンテナ {
    幅: 335ピクセル;
}

</スタイル>

3. これで、Google ロボットが使用できるようになります。

概略図:

ここに画像の説明を挿入

これで、Google Recaptcha 認証を使用した vue の実装例に関するこの記事は終了です。より関連性の高い vue Google Recaptcha 認証コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue フォーム検証のやり方を本当に知っていますか? vue フォーム検証 (フォーム) 検証
  • Vueフォーム検証プラグインであるVue Validatorの使い方の詳細な説明
  • Vue ElementUI のフォーム検証で発生した問題
  • VUEは画像検証コード機能を実装
  • vueは携帯電話経由でSMS認証コードを送信する登録機能を実装します
  • Vueはランダムな検証コードサンプルコードを生成します
  • フォーム検証に値がある場合にエラープロンプトが表示される問題を解決するために Vue と組み合わせた要素
  • Vue にモバイル検証コードコンポーネント機能を追加する方法

<<:  MySQLデータベースの基礎知識と操作のまとめ

>>:  nginx + セカンダリドメイン名 + https サポートを使用する

推薦する

ウェブデザインの発展と西洋建築の類似点は何でしょうか?

歴史は常に驚くほどうまく繰り返される。西洋建築とウェブデザインは、どちらも工学と芸術の組み合わせです...

VMware15 の CentOS7 インストールの詳細なプロセスとよくある問題 (画像とテキスト)

1. インストールパッケージの準備VMware-player-15.0.4-12990004、非商...

Linux自動ログイン例の説明

インターネット上には、expect を使用して自動ログインを実現するスクリプトが多数存在しますが、明...

iptables の再起動後に Docker の iptables ルールの完全なプロセスが失われる

原因と結果1. ansibleコマンドを使用してジャンプサーバー上のマシンBをテストすると、次のエラ...

jconsole を使用してリモート Tomcat サービスを監視する方法

JConsoleとはJConsole は Java 5 で導入されました。 JConsole は、コ...

デザイン視点技術はデザイン能力の重要な資本である

ある設計士はこう尋ねた。「実際のプロジェクト制作には参加せずに、純粋に設計だけをすることはできますか...

VMware Workstation 15 Pro に Ubuntu 1804 をインストールするチュートリアル (画像とテキスト付き)

このメモはインストール チュートリアルです。実用的な意味はありません。記録のためだけに書いています。...

初心者がHTMLタグを学ぶ(3)

関連記事:初心者が学ぶ HTML タグ (2)導入された HTML タグは、必ずしも XHTML 仕...

MySQL 8.0 再帰クエリの簡単な使用例

序文この記事では、MySQL 8.0 の新機能を使用して再帰クエリを実装します。詳細なサンプル コー...

Html/Css (初心者が最初に読むべきガイド)

1. Web標準の意味を理解する - なぜWeb標準を採用するのか***** コンテンツとスタイル...

全文検索とキーワードスコアリング方式のMySQL実装例

1. はじめに今日、同僚から、MySQL を使用して ElasticSearch に似た全文検索機能...

MySQL 制約の種類と例

制約制約によりデータの整合性と一貫性が確保される制約はテーブルレベルの制約と列レベルの制約に分けられ...

mysql-8.0.16 winx64 最新インストール チュートリアル (画像とテキスト付き)

最近、データベースについて学び始めました。最初にやったことは、データベースとは何か、データベースとデ...

MySQLに絵文字表現を挿入する方法

序文今日、オープンソース プロジェクトのフィードバック フォームを設計していたところ、絵文字表現を挿...

Linux CentOS 6.5 ifconfig が IP を照会できない問題の解決方法

最近、何人かの友人から、仮想マシンに CentOS をインストールした後、ifconfig コマンド...