ホームページ > バックエンド開発 > PHPチュートリアル > QQ インターネット ログインについて質問する: 1 つの開発者アカウントで複数のアプリケーション間でユーザーを統合する

QQ インターネット ログインについて質問する: 1 つの開発者アカウントで複数のアプリケーション間でユーザーを統合する

WBOY
リリース: 2016-07-06 13:53:11
オリジナル
1550 人が閲覧しました

私は WeChat パブリック アカウントを使用してログインしましたが、その後、WeChat オープン プラットフォームには 1 つの同じものがあることを知りました。unionid,只要开发者绑定了自己的公众号或者其他应用,那么对于同一个微信用户,在当前开发者账号下的unionidこれは、開発者が複数のアプリケーションを持っている場合にアカウントを統合するのに役立ちます。

例: 私はA,B两个公众号,还有一个移动应用C,网页应用D,四个应用就会有四个appid,当一个微信用户在A下授权登录,就会有一个相对于Aappid的一个唯一的openid(同理B,C,D授权时就会有其它三个不同的openid)那么当他在B上授权时就识别不了之前A的账号了,这样就达不到我统一用户的效果,因为A,Bすべて私のものを持っています。

今度は unionid之后这个问题就解决了,授权时除了返回openid还会返回unionid,那么据此就可以判断出此微信用户之前是用A受过权的,那么就能识别,无需再让B一度認証して、直接ログインできるようにします。これにより、複数のアプリケーションがある場合にアカウントを統合する効果が得られます。

はぁ~WeChatのソリューションは素晴らしいですね。

その後、QQ ログインを確認したところ、存在しないことがわかりましたunionid

そこで、他のオープンプラットフォーム、Renren、Sina Weiboを調べてみましたが、これらの認証は返されませんopenid,而是会得到他们真实UID。そのため、1つの開発者アカウント下の複数のアプリケーション間で不一致の問題はありません。

現在の質問:

1: WeChat と QQ に openid而不是像微博那样用真实uid を使用する必要があるのはなぜですか?自分で穴を掘るのではなく?

2: WeChat と QQ は穴を掘るために openid を使用しましたが、なぜ WeChat オープン プラットフォームはこの穴を埋めるために openid挖坑了,为什么微信开放平台用unionid を使用したのに、QQ Internet は使用しなかったのですか?

3: QQ インターネットは穴を掘ったものの、埋めることができませんでした。では、この問題を解決して、1 つの開発者アカウントで複数のアプリケーションの認証の相互運用性を開くにはどうすればよいでしょうか?

補足:実は、ログイン認証やバインディング認証の原理は、サードパーティプラットフォーム“uid”(这里引号)与我们自己的uid进行关联,以此来达到绑定的目的,但是qq,微信不像微博他们那样,偏偏返回个openidから認証を取得して返すというものなので、この投稿には問題があります。

いくつかの関連リンクを添付します:
http://mp.weixin.qq.com/wiki/4/9ac2e7b1f1d22e9e57260f6553822520.html
http://wiki.connect.qq.com/Get user openid_oauth2-0
http:// wiki.open.qq.com/wiki/API3.0 ドキュメント
http://open.weibo.com/wiki/Oauth2/access_token

上記は私の表面的な理解ですので、経験豊富な専門家が私を批判して修正してくれることを願っています。

返信内容:

私は WeChat パブリック アカウントを使用してログインしましたが、その後、WeChat オープン プラットフォームには 1 つの同じものがあることを知りました。unionid,只要开发者绑定了自己的公众号或者其他应用,那么对于同一个微信用户,在当前开发者账号下的unionidこれは、開発者が複数のアプリケーションを持っている場合にアカウントを統合するのに役立ちます。

例: 私はA,B两个公众号,还有一个移动应用C,网页应用D,四个应用就会有四个appid,当一个微信用户在A下授权登录,就会有一个相对于Aappid的一个唯一的openid(同理B,C,D授权时就会有其它三个不同的openid)那么当他在B上授权时就识别不了之前A的账号了,这样就达不到我统一用户的效果,因为A,Bすべて私のものを持っています。

今度は unionid之后这个问题就解决了,授权时除了返回openid还会返回unionid,那么据此就可以判断出此微信用户之前是用A受过权的,那么就能识别,无需再让B一度認証して直接ログインさせます。これにより、複数のアプリケーションがある場合にアカウントを統合する効果が得られます。

はぁ~WeChatのソリューションは素晴らしいですね。

その後、QQ ログインを確認したところ、存在しないことがわかりましたunionid

そこで、他のオープンプラットフォーム、Renren、Sina Weiboを調べてみましたが、これらの認証は返されませんopenid,而是会得到他们真实UID。そのため、1つの開発者アカウント下の複数のアプリケーション間で不一致の問題はありません。

現在の質問:

1: WeChat と QQ に openid而不是像微博那样用真实uid を使用する必要があるのはなぜですか?自分で穴を掘るのではなく?

2: WeChat と QQ はこの穴を openid挖坑了,为什么微信开放平台用unionid で埋めましたが、QQ Internet は埋めませんか?

3: QQ インターネットは穴を掘ったものの、埋めることができませんでした。では、この問題を解決して、1 つの開発者アカウントで複数のアプリケーションの認証の相互運用性を開くにはどうすればよいでしょうか?

補足:実は、ログイン認証やバインディング認証の原理は、サードパーティプラットフォーム“uid”(这里引号)与我们自己的uid进行关联,以此来达到绑定的目的,但是qq,微信不像微博他们那样,偏偏返回个openidから認証を取得して返すというものなので、この投稿には問題があります。

いくつかの関連リンクを添付します:
http://mp.weixin.qq.com/wiki/4/9ac2e7b1f1d22e9e57260f6553822520.html
http://wiki.connect.qq.com/Get user openid_oauth2-0
http:// wiki.open.qq.com/wiki/API3.0 ドキュメント
http://open.weibo.com/wiki/Oauth2/access_token

上記は私の表面的な理解ですので、経験豊富な専門家が私を批判して修正してくれることを願っています。

サプライヤーの API は私たちが必要とする効果を提供していないため、私たちにできることは何もなく、この問題に関して偽ることはできません。
結局のところ、openid の値は一意であり、即座に生成および検証されるため、4 つのアプリケーションすべてに共通の openid を渡すことは不可能です。
質問に戻ります: 1. 「なぜ Weibo には落とし穴がないのに、QQ には落とし穴があるのですか?」

理由はありません、Sina のプログラマは uid を返すように設計しましたが、QQ WeChat は openid を返すように 2 を設計しました

2.「WeChatはギャップを埋めるが、QQはそうではない」

2 つの製品チームは異なり、必然性はありません。私は長い間 WeChat オープン プラットフォームを使用していませんでしたが、unionid がいつ登場したかは知りません。最近登場したのであれば、qq がすぐにそのギャップを埋めると思います

3. 「QQ はマルチアプリケーションの相互運用性をどのように解決するか」

qq は検証に openid を必要とし、この openid も生成されるため、数分考えただけでは解決策はないはずです。

もちろん、具体的な状況はドキュメントによって異なります

私の謙虚な意見

qqのidはqq番号です。id

を介して他の経路でユーザーの個人情報が取得されることを防ぎます。

推測してください。 。

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