成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Go項目實戰|企業級項目用戶認證體系這么設計的

開發 前端
想要設計出一個能滿足企業級項目需求的用戶認證體系,我們需要從用戶體驗、安全和穩定性上來考慮,同時也要收集產品經理、前端開發對其在功能性上的要求,不能為了只考慮穩定、高效而忽略了用戶體驗。

這節課開始帶大家設計實現一個套支持多平臺登錄,Token泄露檢測、同平臺多設備登錄互踢功能的用戶認證體系,這套用戶認證體系既可以在你未來開發產品時直接應用,也可以在其基礎上根據需要擴展出其他功能.它會作為我們后面商城App后端服務的的用戶認證體系,同時又足夠獨立,能拿到自己的項目中去快速把用戶認證給搭建起來。

說到Token,很多人一開始想到的可能是JWT -- JSON Web Token。

JWT因為其本質是存儲在客戶端cookie中,發布出去后服務端無法對其進行主動過期等控制,所以應用場景跟這里介紹的用戶認證體系不一樣,我們今天介紹的這套用戶認證體系,在用戶體驗、安全性和穩定性上都會更完善,更適合在擁有C端用戶的產品上或者是擁有多個產品線的公司級項目中應用。

想要設計出一個能滿足企業級項目需求的用戶認證體系,我們需要從用戶體驗、安全和穩定性上來考慮,同時也要收集產品經理、前端開發對其在功能性上的要求,不能為了只考慮穩定、高效而忽略了用戶體驗。

從功能的用戶體驗、安全性和穩定性來看,通常一個足夠支撐企業級項目的認證系統要滿足一下要求:

  • 用戶體驗:

a.保證用戶登錄后,在較長時間內不需要重新登錄,比如15天或者30天內登錄過就不需要讓用戶再主動登錄。

b.支持多平臺登錄,用戶在App平臺上的登錄行為不會踢掉用戶在H5端的登錄狀態。

c.在同一平臺上,如果發生多設備登錄要能把老設備的登錄態踢掉。

  • 安全性:
  • 用戶認證用的Token不可偽造,除發放Token的服務端外無法自行生成Token。
  • Token 具有較快的過期機制(1~2 h),減少被人獲取Token后偽裝成用戶進行操作的幾率。
  • 能有發現機制,發現Token被竊取,或者客戶端存在舊Token未更新;
  • 穩定性:
  • Token 具有自解釋性,即自帶某些信息,在某些極端惡劣情況下,依然能提供最基本的服務。

用戶認證體系的實現思路和方案

為什么所有商用項目都需要用戶認證體系呢?最簡單的一個原因是:因為用戶的ID不能外漏。在產品內部與用戶相關的數據資產都是使用用戶ID標記用戶歸屬的,一旦外漏造成的風險和損失不可預估。

在我們設計的認證體系中,用戶登錄后返回給前端以下Token信息。

圖片

為什么有兩個Token

主要考慮下面三個因素:

  • 一個Token即負責認證又負責刷新,這種方式前端頁面會有并發請求的情況,Token 的刷新需要加鎖,會帶來很大的開銷;
  • 無法保證前端刷新 Token 的互斥時,會出現Token反復失效的情況;
  • 還有就是我們設計的refreshToken能幫助我們發現Token被盜和過期未更新的問題

Token信息的構成和存儲

服務端 Token 存儲的信息(服務端記錄的信息)如下:

用戶登錄授權,在給用戶發放Token的同時服務端會存儲三份信息,用于會話管理和認證。

圖片圖片

它們存儲的主要信息和其存儲方式如下:

圖片圖片

上面我們一直提到了用戶登錄平臺Platform、SessionId ,它們分別是什么呢?

  • Platform:是我們自己定義的用戶登錄平臺,比如H5、App、Web 之類的,用戶登錄時需要在Header頭中攜帶約定的Platform值,用于標記用戶的不同登錄端。這個字段的設置是為了保證不同端的登錄和Token刷新相互之間不會受到影響,避免在App上刷新Token,導致H5 的用戶Token失效的問題。
  • SessionId:會話ID,登錄后的唯一標識,Token刷新時不會改變會話ID,仍然設置為原SessionId,只有在用戶重新登錄后SessionId才會改變,項目可以使用它記錄一些與登錄行為關聯的數據。

Token驗證和刷新的流程

Token的驗證和刷新流程給大家準備了詳盡的UML活動圖和案例進行講解

圖片圖片


責任編輯:武曉燕 來源: 網管叨bi叨
相關推薦

2013-03-28 09:35:31

企業級系統

2023-03-29 07:49:05

企業級項目研發

2025-01-15 09:21:01

2025-01-02 09:02:09

Go項目Token

2011-04-14 09:49:16

Novell企業級LinuxSUSE

2025-02-10 09:03:29

2010-07-08 09:59:51

企業級項目開發

2010-05-25 15:05:30

企業項目組合管理

2025-03-06 01:00:55

架構推送服務編程語言

2018-09-14 16:59:32

2014-09-24 13:32:41

企業號

2025-02-26 09:03:24

2015-08-13 22:25:52

OpenStack企業級云服務需求痛點

2010-09-25 17:18:13

企業級項目組合管理

2025-05-23 18:28:04

2015-03-09 11:20:25

雙因素認證寧盾DKEY

2023-02-15 18:12:43

開發企業級CLI

2011-11-04 09:39:48

惠普激光打印機

2011-11-01 09:40:59

Dropbox企業級

2011-11-11 16:41:23

惠普激光打印機
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费h视频 | 国产精品久久久久久久久久 | 高清一区二区三区 | 欧美成人精品一区二区三区 | 日本精品裸体写真集在线观看 | 一区二区视屏 | 国产女人与拘做受免费视频 | 亚洲欧洲中文日韩 | 日韩精品在线观看一区二区 | 日韩欧美中文字幕在线观看 | 国产一区二区三区四区五区加勒比 | 日韩av一区二区在线观看 | 午夜私人影院在线观看 | 欧美日韩精品久久久免费观看 | 女人一区| 在线成人av | ww 255hh 在线观看 | 91观看 | 成人小视频在线观看 | 国产片侵犯亲女视频播放 | 盗摄精品av一区二区三区 | 国产欧美日韩久久久 | 在线观看毛片网站 | 国产精品自产拍 | 在线观看av免费 | 国产黄色小视频在线观看 | 色性av| 中文字幕成人网 | 在线成人| 精品国产一区二区三区久久久蜜月 | 久久成人一区 | 鲁大师一区影视 | 欧美福利 | 人人操日日干 | 2019精品手机国产品在线 | 国产在线播放一区二区三区 | 亚洲一级在线 | 91看国产 | 免费看黄色国产 | 国产精品视频导航 | 久久成人精品视频 |