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 サポートを使用する

推薦する

Windows環境でのMySQL 8.0.13無料インストールバージョンの設定チュートリアル

目次圧縮ファイルをダウンロードするアドレス: https://dev.mysql.com/downl...

JavaScript の手ぶれ補正とスロットリングの説明

目次安定スロットリング要約する安定自動ドアは人を感知してドアを開け、5 秒間のカウントダウンを開始し...

Alibaba Cloud Server で MySQL デュアルマシン ホットスタンバイを手動で実装する 2 つの方法

1. コンセプト1. ホットバックアップとバックアップの違いホット バックアップは高可用性 (HA)...

MySQL 5.7.17 インストール グラフィック チュートリアル (Windows)

最近データベースを学び始めたのですが、とても興味深いコースだと感じていますが、含まれる内容の多くは私...

MySQLインデックスの作成について知っておくべきこと

目次序文: 1. インデックスメソッドを作成する2. インデックスを作成するために必要な権限序文: ...

Docker での MySQL 8.0.20 のインストールと設定のチュートリアル

Dockerは参考までにMySQLバージョン8.0.20をインストールします。具体的な内容は以下のと...

MySQL 高可用性クラスタの展開とフェイルオーバーの実装

目次1. 内閣府1. コンセプト2. MHAの構成3. MHAの特徴2. MySQL+MHAをビルド...

js での Object.create インスタンスの使用法の詳細な説明

1. Object.create() メソッドを使用して新しいオブジェクトを作成し、既存のオブジェク...

Win10でのMySQL5.7.17無料インストール版の基本設定チュートリアルについて(画像とテキスト付き)

データベース アプリケーションは、アプリケーション システムに不可欠な部分です。リレーショナル デー...

CSS ファンタスティックボーダーアニメーション効果の実装

今日、私はブログサイト shoptalkshow を閲覧していて、非常に興味深いこのインターフェース...

変数が空かどうかを判定するシェルの方法の概要

シェルで変数が空かどうかを判断する方法シェルプログラミングでは、パラメータのエラーチェック項目に、変...

CSS 標準: vertical-align プロパティ

<br />原文: http://www.mikkolee.com/13私は最近、ver...

jsは動的にテーブルを生成します(ノード操作)

この記事の例では、テーブルを動的に生成するjsの具体的なコードを参考までに共有しています。具体的な内...

カルーセル効果を実現するためのネイティブJavaScript+CSS

この記事では、参考までに、カルーセル効果の具体的なコードをJavaScript+CSSを使用して実装...

CSSの記述形式、モバイルページの基本構造の詳細な説明

1. CSSの記述形式1. インラインスタイルCSSコードを開始タグに直接記述することができます&l...