您好,登錄后才能下訂單哦!
這篇文章主要講解了“mysql多個社交賬號的登錄注冊如何設計”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“mysql多個社交賬號的登錄注冊如何設計”吧!
開放平臺有哪些?
微信
Sina微博
163
360
豆瓣
淘寶
Github
開源中國
其他...
用戶注冊邏輯
參數
(username)用戶名
(password)密碼
(platform_id)平臺ID
(code)驗證碼
驗證數據合法性。
判斷user
表是否存在該用戶名。
若存在,引導用戶登錄。
若不存在,執行注冊的程序。
密碼加密規則 (參考:加密技術與密鑰安全管理)
用戶登錄邏輯
普通登錄:
參數
(username)用戶名
(password)密碼
(platform_id)平臺ID
(code)驗證碼
驗證數據的合法性。
判斷user
表中是否存在用戶數據。
記錄日志。
社交賬號登錄(參數):
參數
(platform_id)平臺ID
(channel_id)渠道ID
(open_id) 社交平臺開放ID
驗證數據的合法性。
判斷user_social
表中是否存在該openid的數據。
若存在,直接進行登錄。
若不存在,將數據,存儲到user_social
表,引導用戶綁定本站賬號。
若本站已存在賬號,直接關聯賬號即可。
若本站不存在賬號,引導用戶注冊,成功后與當前openid關聯即可。
記錄日志
數據表結構
用戶賬號表
CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵ID', `username` varchar(80) NOT NULL DEFAULT '' COMMENT '用戶名', `password` char(60) NOT NULL DEFAULT '' COMMENT '密碼', `platform_id` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '平臺ID(1=PC,2=Wap,3=Android,4=iOS)', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶賬號表';
用戶社交賬號表
CREATE TABLE `user_social` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵ID', `uid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用戶ID', `open_id` varchar(120) NOT NULL DEFAULT '' COMMENT '社交平臺開放ID', `platform_id` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '平臺ID(1=PC,2=Wap,3=Android,4=iOS)', `channel_id` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '渠道ID(1=QQ,2=SinaWeibo,3=Weixin)', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間', `update_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '更新時間', PRIMARY KEY (`id`), KEY `idx_uid` (`uid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶社交賬號表';
用戶登錄日志表
CREATE TABLE `user_login_log` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵ID', `uid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用戶ID', `platform_id` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '平臺ID(1=PC,2=Wap,3=Android,4=iOS)', `channel_id` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '渠道ID(1=QQ,2=SinaWeibo,3=Weixin)', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間' PRIMARY KEY (`id`), KEY `idx_uid` (`uid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶登錄日志表';
感謝各位的閱讀,以上就是“mysql多個社交賬號的登錄注冊如何設計”的內容了,經過本文的學習后,相信大家對mysql多個社交賬號的登錄注冊如何設計這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。