国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

淺談多個社交賬號的登錄注冊設計

Mr_houzi / 2147人閱讀

摘要:本篇文章,主要講述了用戶登錄注冊的邏輯及如何用社交賬號登錄。僅供參考,具體情況依據產品需求而定。社交賬號登錄參數參數平臺渠道社交平臺開放驗證數據的合法性。若存在,直接進行登錄。若本站不存在賬號,引導用戶注冊,成功后與當前關聯即可。

本篇文章,主要講述了用戶登錄注冊的邏輯及如何用社交賬號登錄。

僅供參考,具體情況依據產品需求而定。

開放平臺有哪些?

微信

Sina微博

QQ

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="用戶登錄日志表";


推薦閱讀

系統的講解 - SSO 單點登錄

系統的講解 - PHP WEB 安全防御

系統的講解 - PHP 緩存技術

系統的講解 - PHP 接口簽名驗證

系統的講解 - PHP 浮點數高精度運算

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30515.html

相關文章

  • 淺談多個社交賬號綁定設計

    摘要:在詳解中使用解決了第三方賬號登錄集成的問題,那么在獲取到用戶資料之后呢集成多個社交賬號,該如何綁定同一個賬號本篇就讓我們來探討一下集成登錄的那點事。 Dearmadman 在 Laravel Socialite 詳解 中使用 larastarscn/socialite 解決了第三方賬號登錄集成的問題,那么在獲取到用戶資料之后呢?集成多個社交賬號,該如何綁定同一個賬號?本篇就讓我們來探討...

    wean 評論0 收藏0
  • 互聯網業務安全之通用安全風險模型

    摘要:驗證碼安全參考信息重放登錄注冊找密等入口,可能通過短信驗證碼郵箱驗證碼之類的進行確認操作,如果末對操作進行次數及頻率上的限制,則會產生大量的重放攻擊。高并發缺陷交易類重放攻擊,高并發的情況下末對用戶操作行為加鎖,導致購買限制的繞過。 showImg(https://segmentfault.com/img/bVBVVR); 業務安全從流程設計維度可劃分為賬戶體系安全、交易體系安全、支付...

    liaorio 評論0 收藏0
  • 我在全球最大同性社交平臺那點事

    摘要:從最大的同性社交平臺獲取數據好了,言歸正傳,回到題目。烏云密布的爬蟲百度網盤這件事,是我不想看到的,這類安全問題的一個共同特點用戶自身確實存在問題。 本文作者:夏之冰雪,i春秋簽約作家 《我在百度網盤上看到上萬條車主個人信息,企業、政府高官信息、各種數據庫和無窮無盡的盜版》,一時間,這篇文章就火了,火爆程度另百度猝不及防。 其實呢,這事真不能全怪百度,畢竟用戶分享出去了。之所以引起這么...

    AlphaWatch 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<