溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql多個社交賬號的登錄注冊如何設(shè)計

發(fā)布時間:2022-03-19 10:35:56 來源:億速云 閱讀:129 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“mysql多個社交賬號的登錄注冊如何設(shè)計”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“mysql多個社交賬號的登錄注冊如何設(shè)計”吧!

開放平臺有哪些?

  • 微信

  • Sina微博

  • QQ

  • 163

  • 360

  • 豆瓣

  • 淘寶

  • Github

  • 開源中國

  • 其他...

用戶注冊邏輯

  • 參數(shù)

    • (username)用戶名

    • (password)密碼

    • (platform_id)平臺ID

    • (code)驗證碼


  • 驗證數(shù)據(jù)合法性。

    判斷user表是否存在該用戶名。

    若存在,引導用戶登錄。

    若不存在,執(zhí)行注冊的程序。

  • 密碼加密規(guī)則 (參考:加密技術(shù)與密鑰安全管理)

用戶登錄邏輯

  • 普通登錄:

    • 參數(shù)

      • (username)用戶名

      • (password)密碼

      • (platform_id)平臺ID

      • (code)驗證碼


    • 驗證數(shù)據(jù)的合法性。

      判斷user表中是否存在用戶數(shù)據(jù)。

    • 記錄日志。

  • 社交賬號登錄(參數(shù)):

    • 參數(shù)

      • (platform_id)平臺ID

      • (channel_id)渠道ID

      • (open_id) 社交平臺開放ID


    • 驗證數(shù)據(jù)的合法性。

      判斷user_social表中是否存在該openid的數(shù)據(jù)。

      若存在,直接進行登錄。

      若不存在,將數(shù)據(jù),存儲到user_social 表,引導用戶綁定本站賬號。

      若本站已存在賬號,直接關(guān)聯(lián)賬號即可。

      若本站不存在賬號,引導用戶注冊,成功后與當前openid關(guān)聯(lián)即可。

    • 記錄日志

數(shù)據(jù)表結(jié)構(gòu)

  • 用戶賬號表

    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 '創(chuàng)建時間',
      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 '創(chuàng)建時間',
      `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 '創(chuàng)建時間'
      PRIMARY KEY (`id`),
      KEY `idx_uid` (`uid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶登錄日志表';

感謝各位的閱讀,以上就是“mysql多個社交賬號的登錄注冊如何設(shè)計”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對mysql多個社交賬號的登錄注冊如何設(shè)計這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI