最近ブログのシステムを改善していたのですが、コメントするために一時的に名前とメールアドレスを入力する方法から、GitHub 認証を使用してログインしてコメントを投稿する方法に変更することを突然思いつきました。 ヒント: この記事は個人的なニーズを満たすもののみを対象としています。より詳細な使用方法を学習する必要がある場合は、公式の OAuth ドキュメントを参照してください。 OAuth アプリの作成まず、GitHub アカウントを取得し、GitHub 開発者にアクセスします。必要な情報を入力すると、次の手順で使用する Client_ID と Client Secret が自動的に生成されます。 コードを取得する//方法 非同期githubLogin() { ウィンドウズ.location.href = 「https://github.com/login/oauth/authorize?client_id = your_client_id&redirect_uri=your_redirect_uri」 } <a href="https://github.com/login/oauth/authorize?client_id = your_client_id&redirect_uri=your_redirect_uri">GitHub ログイン</a> ルート内の redirect_uri パラメータはオプションです。省略した場合、GitHub は OAuth アプリで設定したコールバック パスにリダイレクトします。指定する場合、入力する redirect_uri は、OAuth アプリで構成したコールバック パスのサブパスである必要があります。次のように: コールバック: http://xx.com/github ユーザーがリクエストを受け入れると、redirect_uri にジャンプし、ルート内のパラメータ コードを受け入れて次のステップに進むことができます。 リダイレクトURI?コード=xxx access_tokenを取得するaccess_token を取得するには、client_id、client_secret、および code が必要です。 /* /githubアクセストークン:https://github.com/login/oauth/access_token */ これ.$axios .get('/githubAccessToken',{ パラメータ: { client_id: クライアントID、 クライアントシークレット: クライアントシークレット、 コード: your_code } }) デフォルトでは、次のような応答が返されます。 access_token=xxxxx&token_type=bearer より便利な形式で応答を受け取りたい場合は、 Accept ヘッダーをカスタマイズできます。 受け入れる: "application/json" => {"access_token":xxxxx、"token_type":bearer} ユーザー情報を取得するaccess_token を取得したら、ユーザーの情報を要求できます。 /* /githubユーザー情報:https://api.github.com/user */ これ.$axios .get('/githubUserInfo', { ヘッダー: { 「コンテンツタイプ」: 「application/x-www-form-urlencoded」、 受け入れる: "application/json", 認証: `token ${access_token}` //必須} }) その後、ユーザー情報を取得できます。 Vue による GitHub のサードパーティ認証の実装に関するこの記事はこれで終わりです。Vue による GitHub のサードパーティ認証の実装に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Docker x509 の安全でないレジストリ問題を解決する
ユーザーがログアウトした後、ブラウザの戻るボタンがクリックされると、Web アプリケーションは保護さ...
1. ElasticSearch 6.4.1 インストール パッケージを次の場所からダウンロードしま...
目次序文1. モナドの判断1.1 例1.2 オブジェクトに入れる1.3 マップに載せる2. 複数の判...
Linux ターミナルでファイルを操作しているときに、Linux コマンドライン エディターでファイ...
この記事では、MySQL が条件に基づいてデータをクエリし、別のテーブルに更新する方法を例を使用して...
<br />前回のWebデザインチュートリアル:Webデザインチュートリアル(3):デザ...
目次スロットとは何かデフォルトスロットの理解コードスニペット要約するスロットとは何かスロットは、親コ...
1. 準備1.1 港ダウンロードハーバーダウンロードアドレス:リンクリンクの説明を追加し、必要なバー...
目次1. はじめに2. 使用方法ステートレスコンポーネントステートフルコンポーネント制御コンポーネン...
序文MySQL では、クロスデータベース クエリは主に 2 つの状況に分けられます。1 つは同じサー...
方法 1: Google の詳細検索を使用します。たとえば、次に示すように.asp?id=9などの ...
目次1. 問題の説明2. 問題解決1. 仮想マシンシステムのインストール時にネットワークがない場合2...
<canvas> 要素は、クライアント側のベクター グラフィックス用に設計されています。...
開発を行う際に、次のような状況に遭遇することがよくあります。 a.swf が Web ページに追加さ...
<br />まずアイデアを考え、次にスケッチを描き、次にマウスでスケッチし、最後にフラッ...