數(shù)據(jù)庫(kù)
login表
userid|username|password|
token表
id|openid|token|userid|type
這個(gè)type用來(lái)判斷是哪個(gè)第三方,比如weixin
首次登錄后,這個(gè)數(shù)據(jù)可以存在redis里!下次訪問(wèn)就不需要從查數(shù)據(jù)庫(kù)了
登錄流程
用戶名+密碼登錄或者用戶名+手機(jī)驗(yàn)證碼登錄!
登錄成功服務(wù)器返回openid 和token給客戶端,并且保存到本地緩存,用于以后訪問(wèn)時(shí)候進(jìn)行鑒權(quán)
鑒權(quán)方法!
1.客戶端把 token+當(dāng)前時(shí)間戳組合加密一個(gè)新的token!
2.用戶把
當(dāng)前時(shí)間戳+新token+openid鏈接起來(lái)可以用.號(hào)分割或者其他符號(hào)!合起來(lái)組成一個(gè)sign格式:123.djcjc.1596664566
用base64把這個(gè)sign加密發(fā)給服務(wù)端!服務(wù)端先解密,先檢查時(shí)間戳是否有效一般設(shè)置有效期1分鐘即可。,然后根據(jù)openid從數(shù)據(jù)庫(kù)拿到token然后把token+前端發(fā)過(guò)來(lái)的時(shí)間戳組合起來(lái)加密一個(gè)新token.然后和前端發(fā)過(guò)來(lái)的token比對(duì)是否一致!通過(guò)后就可以放行了!