Vue で Google サードパーティ ログインを実装するためのサンプル コード

Vue で Google サードパーティ ログインを実装するためのサンプル コード

1. 開発者プラットフォームの構成

1. 開発者プラットフォームに入り、Google API コンソールに移動してプロジェクトを選択または作成します。

Google デベロッパー プラットフォーム

ここに画像の説明を挿入

魅力的なAPIが多すぎて選ぶのが難しいですが、今回の目的はソーシャルAPIだということを覚えておいてください。

ここに画像の説明を挿入

2. このAPIを使用する前に、OAuth 2.0クライアントIDを申請する必要があります。

ここに画像の説明を挿入

3 必要に応じてプロジェクトのタイプ、名前、ソースURLを入力します。

注: 作成が完了すると、申請したクライアント ID とキーを示すポップアップ ウィンドウがページに表示されます。はい、これは生成プロセスです。

ここに画像の説明を挿入

4. vue-google-signin-buttonをインストールする

npm をインストール vue-google-signin-button --save

5. main.jsにインポートして登録する

'vue-google-signin-button' から GSignInButton をインポートします。
Vue.use(GSignInButton);

6.index.htmlにjsファイルを導入する

<!--Google ログインには依存関係 js が必要です -->
<script src="//apis.google.com/js/api:client.js"></script>

7. login.vueでコンポーネントを使用する

<テンプレート>
  <g-サインインボタン
    :params="googleSignInParams"
    @success="サインイン成功"
    @error="onSignInError">
    Googleでログイン
  </g-サインインボタン>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
  データ () {
    戻る {
      /**
       * Auth2パラメータは、
       * https://developers.google.com/identity/sign-in/web/reference#gapiauth2initparams.
       * 少なくとも、有効な client_id が存在している必要があります。
       * @type {オブジェクト}
       */
      googleSignInParams: {
        クライアント ID: 'YOUR_APP_CLIENT_ID.apps.googleusercontent.com'
      }
    }
  },
  メソッド: {
    サインイン成功時(googleUser){
      コンソールログ(googleUser)
      const プロファイル = googleUser.getBasicProfile()
      console.log(プロファイル)
    },
    onSignInError (エラー) {
      console.log('ああ、だめだ', エラー)
    }
  }
}
</スクリプト>

<スタイル>
.g-サインインボタン{
  /* ここでボタンの外観を制御します。創造的に考えましょう! */
  表示: インラインブロック;
  パディング: 4px 8px;
  境界線の半径: 3px;
  背景色: #3c82f7;
  色: #fff;
  ボックスの影: 0 3px 0 #0f69ff;
}
</スタイル>

ここに画像の説明を挿入

問題を解決する

1. 問題1: 初期化ではjsが導入されない

初期化中にページにエラー メッセージが表示されます。


この問題の原因は、プラグイン自体が Google.js ファイルを導入していないことです。解決策は、Vue の index.html に導入することです。詳細については、下の図を参照してください。

Vue で Google サードパーティログインを実装するためのサンプルコードに関するこの記事はこれで終わりです。Vue Google サードパーティログインに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue.js での Line サードパーティログイン API の実装コード

<<:  MySQL テーブル内の重複データを検索して削除する方法の概要

>>:  CentOS 6.x のインストール時に発生するエラー「ディスク sda に BIOS RAID メタデータが含まれています」の解決方法

推薦する

Nginx Webサーバーのサンプルコードの設定方法の詳細な説明

概要今日は主に、NGINX を Web サーバーとして設定する方法を共有します。内容は次のとおりです...

MySQL のあまり知られていないソート方法

序文ORDER BY 字段名升序/降序、このソートステートメントは皆さんご存知だと思いますが、特殊な...

MySQL マルチマスターと 1 スレーブのデータバックアップ方法のチュートリアル

概要いずれかのデータベースに対する操作は他のデータベースに自動的に適用され、2 つのデータベースのデ...

KVM ベースの SRIOV パススルー構成とパフォーマンス テストの詳細な説明

SRIOVの導入、VFパススルー構成、パケット転送速度性能テスト目次1. SRIOVの紹介2. 環境...

MySql 5.7.21 無料インストール バージョンの構成方法 (Win10 の場合)

1.インストールしたい場所に解凍し、my.iniファイルを作成します。 my.iniの内容は次のと...

HTML <!--...--> コメントタグの役割の詳細な分析

多くのウェブサイトのソースコードを確認すると、多くのコメントが見つかります。特に、ソース文書にコメン...

OpenSSL を使用した Kubernetes 証明書の生成の概要

Kubernetes は、基本認証、トークン認証、CA 認証の 3 種類の認証をサポートしています。...

Dockerカスタムネットワークコンテナ相互接続

目次序文-リンクカスタムネットワーク質問する序文前回は、 -Linkパラメータを使用してコンテナ間の...

Vue で jsx 構文を正しく使用する方法

目次序文仮想DOM仮想DOMとは仮想DOMの利点レンダリング関数とは何ですか? jsx Vue3 で...

Mybatis ファジークエリ実装方法

Mybatis ファジークエリ実装方法mybatis のリバース アシスタントは非常に使いやすく、通...

CSS でレスポンシブ レイアウトを実装する方法

CSS でレスポンシブ レイアウトを実装するレスポンシブレイアウトは非常にハイエンドで難しいように思...

IPとポートが接続可能かどうかを検出する方法

Windows コマンドテルネット形式: telnet IP ポート場合: テルネット 191.1....

データベースミドルウェアMyCatの紹介

1. Mycatの適用シナリオMycat は幅広いシナリオに合わせて開発されており、新しいユーザーが...

mysqlタイムスタンプの使用

序文:タイムスタンプ フィールドは、MySQL でよく使用されます。たとえば、データ行が作成または変...

nginx が動的と静的の分離を実装する方法の例

目次server1にnginxをデプロイするサーバーにlnmpを展開するノード3にhttpdをデプロ...