ホームページ >バックエンド開発 >PHPチュートリアル >QQ インターネット ログインについて質問する: 1 つの開発者アカウントで複数のアプリケーション間でユーザーを統合する
私は WeChat パブリック アカウントを使用してログインしましたが、その後、WeChat オープン プラットフォームには 1 つの同じものがあることを知りました。unionid
,只要开发者绑定了自己的公众号或者其他应用,那么对于同一个微信用户,在当前开发者账号下的unionid
これは、開発者が複数のアプリケーションを持っている場合にアカウントを統合するのに役立ちます。
例: 私はA,B
两个公众号,还有一个移动应用C
,网页应用D
,四个应用就会有四个appid
,当一个微信用户在A
下授权登录,就会有一个相对于A
的appid
的一个唯一的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
下授权登录,就会有一个相对于A
的appid
的一个唯一的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
を介して他の経路でユーザーの個人情報が取得されることを防ぎます。
推測してください。 。