search
HomeBackend DevelopmentPHP TutorialAsk a question about QQ Internet login: Unify users between multiple applications under one developer account

I used the WeChat official account to log in, and then I learned that the WeChat open platform has a unionid. As long as the developer binds his own official account or other applications, then for the same WeChat user, under the current developer account The unionid are the same, which is helpful for unifying accounts when developers have multiple applications.

For example: I have A,B two public accounts, a mobile application C, and a web application D. Four applications will have four appid. When a WeChat user enters A If you log in with authorization, there will be a unique A relative to appid's openid (Similarly, when B,C,D is authorized, there will be three other different openids). Then when he is in BWhen authorizing, the previous A account will no longer be recognized. This will not achieve the effect of unifying my users, because A,B is all mine.

Now with unionid, this problem is solved. When authorizing, in addition to returning openid, unionid will also be returned. Based on this, we can judge that this WeChat user has been authorized using A before. Then it will be recognized and there is no need to ask B to authorize it again, just let it log in directly. This achieves the effect of unifying accounts when I have multiple applications.

Hehe~ WeChat’s solution is excellent.

Then I looked at the QQ login and found that there was no such thing unionid.

So I looked at other open platforms, Renren, Sina Weibo, these authorizations are not returned openid, but will get their real UID. In this way, there will not be multiple applications under one developer account. It's a matter of unification.

My current question:

1: Why do WeChat and QQ use openid instead of real uid like Weibo? Instead of digging a hole yourself?

2: Although WeChat and QQ used openid to dig holes, why did the WeChat open platform use unionid to fill this hole, but QQ Internet did not?

3: QQ Internet dug a hole but failed to fill it, so how do we solve this problem and open up the authorization interoperability of multiple applications under one developer account?

Supplement: In fact, the principle of login authorization and binding authorization is to associate the “uid” (quotation marks here) returned by the third-party platform after authorization with our own uid to achieve the purpose of binding, but QQ, WeChat, unlike Weibo, returns openid, so there is a problem with this post.

Attached are several related links:
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 Document
http://open.weibo.com/wiki/Oauth2/access_token

The above is my superficial understanding. After all, my practical experience is not strong yet. I hope experienced experts can criticize and correct me. Thank you.

Reply content:

I used the WeChat official account to log in, and then I learned that the WeChat open platform has a unionid. As long as the developer binds his own official account or other applications, then for the same WeChat user, under the current developer account The unionid are the same, which is helpful for unifying accounts when developers have multiple applications.

For example: I have A,B two public accounts, a mobile application C, and a web application D. Four applications will have four appid. When a WeChat user enters A If you log in with authorization, there will be a unique A relative to appid's openid (Similarly, when B,C,D is authorized, there will be three other different openids). Then when he is in BWhen authorizing, the previous A account will no longer be recognized. This will not achieve the effect of unifying my users, because A,B is all mine.

Now with unionid, this problem is solved. When authorizing, in addition to returning openid, unionid will also be returned. Based on this, we can determine that this WeChat user has been authorized using A before. Then it will be recognized and there is no need to ask B to authorize it again, just let it log in directly. This achieves the effect of unifying accounts when I have multiple applications.

Hehe~ WeChat’s solution is excellent.

Then I looked at the QQ login and found that there was no such thing unionid.

So I looked at other open platforms, Renren, Sina Weibo, these authorizations are not returned openid, but will get their real UID. In this way, there will not be multiple applications under one developer account. It's a matter of unification.

My current question:

1: Why do WeChat and QQ use openid instead of real uid like Weibo? Instead of digging a hole yourself?

2: Although WeChat and QQ used openid to dig holes, why did the WeChat open platform use unionid to fill this hole, but QQ Internet did not?

3: QQ Internet dug a hole but failed to fill it, so how do we solve this problem and open up the authorization interoperability of multiple applications under one developer account?

Supplement: In fact, the principle of login authorization and binding authorization is to associate the “uid” (quotation marks here) returned by the third-party platform after authorization with our own uid to achieve the purpose of binding, but QQ, WeChat, unlike Weibo, returns openid, so there is a problem with this post.

Attached are several related links:
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 Document
http://open.weibo.com/wiki/Oauth2/access_token

The above is my superficial understanding. After all, my practical experience is not strong yet. I hope experienced experts can criticize and correct me. Thank you.

Since the supplier’s API does not provide the effect we need, there is nothing we can do, and we cannot fake it on this issue.
After all, the value of openid is unique and is generated and verified instantly. It is impossible to pass a common openid to all four applications.
Back to your question:
1. "Why does Weibo have no pitfalls but QQ has pitfalls?"

No reason, Sina programmers designed to return uid, while QQ WeChat designed 2 to return openid

2. “WeChat fills in the gaps but QQ doesn’t”

The two product teams are different, there is no inevitability. I haven’t used the WeChat open platform for a long time. I don’t know when unionid appeared. If it appeared recently, then I believe qq will soon fill the gap

3. "How does QQ solve multi-application interoperability"

There should be no solution after just a few minutes of thinking. Since qq requires openid for verification, and this openid is even generated, there should be no solution.

Of course, the specific situation depends on their documentation

My humble opinion

The id of qq is the qq number. In order to prevent the user’s personal information from being obtained through other channels through id

Guess. .

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
What is PDO in PHP?What is PDO in PHP?Apr 28, 2025 pm 04:51 PM

The article discusses PHP Data Objects (PDO), an extension for database access in PHP. It highlights PDO's role in enhancing security through prepared statements and its benefits over MySQLi, including database abstraction and better error handling.

What is Memcache and Memcached in PHP? Is it possible to share a single instance of a Memcache between several projects of PHP?What is Memcache and Memcached in PHP? Is it possible to share a single instance of a Memcache between several projects of PHP?Apr 28, 2025 pm 04:47 PM

Memcache and Memcached are PHP caching systems that speed up web apps by reducing database load. A single instance can be shared among projects with careful key management.

What are the steps to create a new database using MySQL and PHP?What are the steps to create a new database using MySQL and PHP?Apr 28, 2025 pm 04:44 PM

Article discusses steps to create and manage MySQL databases using PHP, focusing on connection, creation, common errors, and security measures.

Does JavaScript interact with PHP?Does JavaScript interact with PHP?Apr 28, 2025 pm 04:43 PM

The article discusses how JavaScript and PHP interact indirectly through HTTP requests due to their different environments. It covers methods for sending data from JavaScript to PHP and highlights security considerations like data validation and prot

How to execute a PHP script from the command line?How to execute a PHP script from the command line?Apr 28, 2025 pm 04:41 PM

The article discusses executing PHP scripts from the command line, including steps, common options, troubleshooting errors, and security considerations.

What is PEAR in PHP?What is PEAR in PHP?Apr 28, 2025 pm 04:38 PM

PEAR is a PHP framework for reusable components, enhancing development with package management, coding standards, and community support.

What are the uses of PHP?What are the uses of PHP?Apr 28, 2025 pm 04:37 PM

PHP is a versatile scripting language used mainly for web development, creating dynamic pages, and can also be utilized for command-line scripting, desktop apps, and API development.

What was the old name of PHP?What was the old name of PHP?Apr 28, 2025 pm 04:36 PM

The article discusses PHP's evolution from "Personal Home Page Tools" in 1995 to "PHP: Hypertext Preprocessor" in 1998, reflecting its expanded use beyond personal websites.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),