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

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

WJ
リリース: 2020-06-10 11:41:55
オリジナル
8178 人が閲覧しました

ミニプログラムの 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート