Une table utilisateur
nom d'identifiant
Ensuite, chaque tiers ajoute une nouvelle table
ex WeChat
id openid uid (identifiant de la table de l'utilisateur principal) .....
QQ
id openid uid
De cette façon, les utilisateurs utilisant différents tiers auront des comptes différents, et un utilisateur aura plusieurs comptes
Comment réaliser l'interopérabilité des données ? Par exemple, la connexion WeChat peut être liée à QQ, et les informations de WeChat et ? QQ sera synchronisé à l'avenir
Il existe plusieurs manières :
Les premiers champs redondants
Utilisateur de la table utilisateur : identifiant nom téléphone email....
Connexion à la table de connexion tierce : id uid wxopenid qqopenid...
Lors de la création Donnez ", puis mettez à jour le champs pertinents lors de la liaison ultérieure.
Le deuxième type de fractionnement de table
Table utilisateur : utilisateur : identifiant nom téléphone email....
Table tierce : openid : id wx_openid qq_openid....
Relation de table de relation : uid oid L'oid ici est le troisième- table de fête
Le but de cette conception est d'éliminer le besoin d'opérations de jointure, car les opérations de jointure prennent du temps lorsqu'il y a trop de données. Au niveau de la couche logique du code, nous obtenons d'abord l'oid de la relation en fonction de celui actuellement enregistré. -in uid, puis sélectionnez les données pertinentes dans la table openid.
Il n'est pas recommandé de les mettre tous sur une seule table. . .
1. Pourquoi ne pas utiliser un tableau ? Il y a un champ dans le tableau, similaire au type, qui indique quel type de connexion tierce est utilisé.
2. Si vous vous connectez avec deux tiers différents, deux comptes seront effectivement générés. Si vous souhaitez fusionner ces deux comptes à ce stade, cela sera plus compliqué et impliquera quelles données utiliser. Bien entendu, vous pouvez également le faire. Dans le pire des cas, les informations seront envoyées à plusieurs comptes en même temps.
L'idée générale est d'avoir d'abord un compte (la source du compte peut être une sorte de connexion tierce, d'enregistrement par e-mail, d'enregistrement par téléphone mobile), de toute façon, vous devez avoir un compte, puis lier un nouveau compte tiers après connexion. Pouvez-vous paramétrer les paramètres du compte SF, /user...
Mise à jour, ma compréhension personnelle de la gestion de plusieurs connexions tierces dans une seule table
Champ de table - table oauth
id // peut être auto-incrémenté
type // peut être wx, qq, weibo, etc.
user_id, // correspond à l'utilisateur Les données id
dans le tableau, // de type mysql-text, sont au format json ou vous pouvez utiliser le format de sérialisation PHP, je recommande le format json, qui correspond à différents types. lecture et stockage, ce n'est pas une différence.