企業プロジェクトはさまざまなプラットフォーム (IOS、Android、Web サイト) をサポートする必要があります
これら 3 つのプラットフォームは、それぞれ Tencent Open Platform と QQ Internet でサードパーティ ログイン機能を申請しています。
サードパーティのアカウントを使用すると、サイト登録情報を入力せずにアプリケーションに直接ログインできます。
アプリIDが異なります。
IOS: 110xxxxxxx06
アンドロイド: 110xxxxxxx50
ウェブサイト: 101xxxx07
その結果、3 つのプラットフォームによって生成されるユーザー open_id も異なります。 。 。
この方法では、同じユーザーを識別する方法はありません。どうやって解決すればいいでしょうか?
これは QQ でのログイン方法ですが、WeChat のログインにもこの落とし穴があるのではないかと思います。 。
これを突然見つけました。 。しかし、良い解決策はないようです。
QQ インターネット ログインについて質問する: 1 つの開発者アカウントで複数のアプリケーション間でユーザーを統合します
5.12補足
インターネットで 2 つの方法を見つけました:
Tencent のオープン プラットフォームでアプリケーションを作成する際の落とし穴、複数のアプリケーションが同じ Appid を共有するにはどうすればよいですか? この方法は、まだ起動されていないアプリケーションに適しており、移行する必要があるユーザー データがないため、個人的なテストに使用できます。
QQ サードパーティ ログインを使用する場合、同じ QQ 番号に対してモバイル アプリケーションと Web サイト アプリケーションによって取得される openid は異なります。この方法は、すでに運用環境にあり、ユーザー アカウント データがトラップされているアプリケーションに適しています。統合する必要があります。この方法はテストしていません。
QQ でログインした後、彼に WeChat をバインドさせます...2 つの open_id が関連付けられます...
サードパーティのログインはトラフィックを集めるための単なる手段です。彼に携帯電話を縛らせてください。
サードパーティのログインに依存してユーザーを統合することはできません。一意の認証情報が必要です。通常、これは電子メールまたは携帯電話番号です。携帯電話番号または電子メールをバインドして直接登録することも、最初にサードパーティ経由でログインしてから、ユーザーに携帯電話番号または電子メールをバインドさせることもできます (これが利点です)。ユーザーがニックネームとアバターを入力する必要がないことです))
最初の入り口が入ってきたら内部でユーザーIDを割り振って、それ以降は相関表を追加するとKOされます
Github には openid のようなものはありませんが、ユーザーの ID を返します。その ID をユーザーの一意の識別子である openid として使用できます。
QQ がうまくいかない場合は、メインアカウントを取得してサードパーティとバインドするしかありません。