H5 WeChatパブリックアカウント認証を実装するための簡単な手順

H5 WeChatパブリックアカウント認証を実装するための簡単な手順

序文

昨日、h5 WeChat認証の実装が必要なプロジェクトがありました。したがって、この機能を完了するには 2 時間かかりました。​

作業開始前の準備

プロセスの説明 [事前に伝えられたプロセス]

  1. WeChat 認証には時間制限があります。一定期間内に一度認証されると、再度クリックして確認する必要はありません。 WeChat をアンインストールして再インストールする場合でも、認証を再確認する必要があります。
  2. 初めて承認を確認する場合でも、承認後でも、WeChat サーバーを使用して、バックエンド インターフェイス コールバックへのコールバックを承認できます。
  3. WeChat 認証コールバック後、コードと状態パラメータが返されます。バックエンドはコードを通じて accessToken を取得し、accessToken を通じてユーザー情報を取得できます。
  4. バックエンドがサーバー コールバックを受信した後、フロントエンドにコールバックするときに 2 つの主要なフィールドがあります。isAuth は承認されているかどうかを表し、isBindFlag はシステムに登録され、ログインされているかどうかを表します。ここで、現在のシステムではユーザー認証登録が必要なため、これら 2 つのフィールドが存在します。

ドメイン名、ポート

  • 準備されたドメイン名 - 公安部に登録されたドメイン名
  • ポート番号は80です。

ドメイン名とポート番号は、WeChat パブリック アカウントの構成と WeChat サーバー コールバックにドメイン名とポート 80 が必要であるため、必須です。

ここでは、同じドメイン名とポートがフロントエンドとバックエンドの IP アドレスに適合され、nginx 統合プロキシを介して処理されます。

仕事の準備

  • ドメイン名: http.xxx.cn
  • フロントエンドリソースの展開: http.xxx.cn
  • バックエンドコールバックインターフェース: http.xxx.cn/api/auth

WeChatパブリックアカウントを設定する

ドメイン名の設定

検証ファイルをサーバーのルート パスにアップロードします。そうしないと、ドメイン名の構成を保存できません。

ホワイトリストの設定

コードを書く

React をインポートし、{useEffect} を "react" から取得します。
"@tarojs/components" から View をインポートします。

エクスポートデフォルト()=> {
  使用効果(() => {
    // バックエンド コールバックのパスの形式: http://xxx.cn/#/pages/webAuthorization?bindFlag=0&openid=xxxxxxxxxxx&unionid=null&isAuth=true
    
    var isBindFlag = false、isAuth = false、opendId = '', paramsArray = [];


    /*
     * 省略されたコード: アドレスの決定、パラメータの処理、isAuth、isBindFlag、openIdへの割り当て
     */ 

    if (!isAuth) { // 権限がありません window.location.href=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${'xxxxxxx'}&redirect_uri=http://xxxxx/api/auth?response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1#wechat_redirect`;
    } else if (!isBindFlag) { // 登録されていません window.location.href = '#/pages/login'
    } else { // ログイン window.location.href = '#/pages/index'
    }
  }, []);

  戻る (
    <表示>
    </表示>
  );
};

要約する

H5 WeChatパブリックアカウント認証に関するこの記事はこれで終わりです。WeChatパブリックアカウント認証に関するより関連性の高いコンテンツについては、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WeChat公式アカウント - ユーザー情報取得手順(Web認証取得)
  • WeChat パブリックアカウントは、スキャンコードを実現し、WeChat ユーザー情報を取得します (Web ページ認証)
  • WeChatパブリックアカウントWebページの認証ログインとコードが使用されているソリューションの詳細な説明
  • WeChat 公式アカウント OAuth2.0 Web 認証問題の簡単な分析

<<:  MySQLに画像を保存する方法

>>:  nginx httpモジュールのデータ保存構造の概要

推薦する

CSS でデフォルトのスタイルをクリアし、共通のスタイルを設定する方法

CSS デフォルトスタイルをクリア通常の明確なデフォルト スタイル: *{ マージン:0; パディン...

Linux で同じバージョンの R を使用して Seurat2 と Seurat3 を同時にインストールするチュートリアル

Seurat は、単一細胞解析用の重量級の R パッケージです。使用したことがある人なら誰でも、その...

Linux周辺ファイルシステムのカスタマイズ方法

序文一般的に、Linux システムについて話すときは、Linux カーネルと GNU プロジェクトに...

div要素に丸い境界線を追加する方法

以下のように表示されます。 CSSコードコンテンツをクリップボードにコピー分割{境界線: 2px 固...

HTML の iframe と frame の違いを例を使って説明します

プロジェクトで frameset 属性を使用したことがあるかどうかはわかりません。昨年、オンライン ...

Vueのフロントエンドとバックエンドのポートの不一致の問題を解決する

Vue のフロントエンドとバックエンドのポートが一致していませんconfig index.jsファイ...

Reactの親コンポーネントと子コンポーネント間のデータ転送の詳細な説明

目次1. 親コンポーネントが子コンポーネントにデータを渡す1.1. 親コンポーネントコード1.2. ...

Linux コンパイル最適化で習得しなければならないいくつかの姿勢のまとめ

01. コンパイルオプションとカーネルコンパイルLinux カーネル (英語: linux kern...

MySQLデータベースの追加、削除、変更操作の詳細な説明

データの挿入テーブル名(列名1、列名2、列名3)の値(値1、値2、値3)に挿入します。ユーザーに(u...

...

JavaScript Domはカルーセルの原理と例を実装します

カルーセルを作りたい場合、まずその原理を理解する必要があります。画像を右から左にスライドさせるにはど...

MySql 8.0.16-win64 インストール チュートリアル

1. ダウンロードしたファイルを以下のように解凍します。 。 2. 環境変数に解凍ディレクトリを追加...

jsを使用してカルーセル効果を実現する

今日は、参考までに、jsを使用してカルーセルマップの効果を実現する方法についてお話ししましょう。具体...

MycliはMySQLコマンドライン愛好家にとって必須のツールです

マイクリMyCLI は、自動補完と構文の強調表示を備えた MySQL、MariaDB、および Per...

Linux で Docker を使用して MySQL をインストールする手順

テスターとして、学習プロセス中に Linux でソフトウェアをインストールする必要が頻繁にある場合が...