検索
ホームページWeChat アプレットミニプログラム開発ミニプログラムの UnionID を取得する方法

ミニプログラムの UnionID を取得する方法

Jun 10, 2020 am 11:41 AM
アプレット

ミニプログラムの UnionID を取得する方法

ミニ プログラムの UnionID を取得するにはどうすればよいですか?

問題の背景: WeChat アプレットを作成し、すべてが正常でしたが、試用版が最終的にリリースされたとき、多くのユーザーがユーザーをバインドできず、バックグラウンドで不正なパラメーターが返されたことがわかりました。複数の調査の結果、WeChat によって取得されたコード リクエストによって返されたデータには UnionId が含まれていないことが判明しました。つまり、インターフェイスによって返されたパラメータには UnionId パラメータが含まれていませんでした。

1. UnionID メカニズムの説明

つまり、WeChat はさまざまなアプリケーションのさまざまなユーザーに対して一意の openId を持っていますが、ユーザーが同じユーザーであるかどうかを判断したい場合は、次の情報に依存する必要があります。 Unionid で区別します。通常、独自のバックエンドには独自のユーザー テーブルがあり、各ユーザーは異なるユーザー ID を持ちます。つまり、同じ WeChat オープン プラットフォームにおける同じ主題の同じユーザーのアプリケーションは、同じ userid、unionid、および異なる openid に対応します。したがって、ユーザーがログインするときは、WeChat から返された UnionID のみを頼りに、それが同じユーザーであるかどうかを判断し、それをユーザー テーブルに関連付けて、対応する user_id を取得します。

注: 次の文の説明: ユーザーが公式アカウントをフォローしているか、アプリまたは公式アカウントにログインしているユーザーがミニ プログラムを開くと、開発者は wx を通じてユーザーの UnionID を直接取得できます。ログイン。 。つまり、ユーザーが公式アカウントをフォローしていない場合、またはアプリにログインしていない場合、ユーザーの UnionID は wx.login を通じて取得できず、UnionId は wx.getUserInfo を通じてのみ取得できます。システム内に UnionId が存在しないミニ プログラム ユーザーは、すべて公式アカウントをフォローしていないユーザー、またはアプリで WeChat 認証を使用していないユーザーであることが確認されています

2. 問題の背景

一般 この場合 (つまり、ミニ プログラムにログインする前に、ユーザーが公式アカウントをフォローしているか、公式アカウントにログインしているか、WeChat ログインを使用してアプリにログインしている場合)、ユーザーは次の 2 つの手順を通じて Web サイトに正常にログインできます: (1) wx.login コードを取得します; (2) コードを通じてバックグラウンドをリクエストし、openid や openid などの情報と引き換えにバックグラウンドで WeChat API を転送します。 session_key.これは Unionid

を取得できます 別の状況 (つまり、ミニ プログラムにログインする前に、公式アカウントをフォローしていません。公式アカウントにログインしたことがなく、アプリにもログインしたことがありません) WeChat ログイン方法を使用する場合)、wx.login を通じて取得したコードを、unionid や openid などの情報と交換することはできません。

3. 解決策:

ミニ プログラムの UnionId を取得するには、wx.getUserInfo の UnionId がメイン プログラムである必要があります。 wx.getUserInfoはユーザーの認可が必要となるため、製品側ではユーザーが認可を拒否する場合の処理​​フローを考慮する必要があります。

wx.getUserInfoでデータを取得した後の復号方法については、公式ドキュメントを参照してください。

解決策: ユーザーの暗号化データ encryptedData と、ログイン ステータスを含む wx.getUserInfo を介して暗号化アルゴリズムの初期ベクトル iv を取得し、encryptdata、iv、コードをバックエンドに渡すと、バックエンドはそれを受け取ります。取得した encryptedData、iv、code、および以前の session_key は、ユーザーの openid、unionid などを復号化するために使用されます。暗号化されたデータの復号化アルゴリズム

関連する推奨事項:小さなプログラム チュートリアル

以上がミニプログラムの UnionID を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール