基于小程序的Token身份权限体系
2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
api接口不能隨意調(diào)用,所以得對api做權(quán)限控制,確定用戶身份,在傳統(tǒng)網(wǎng)站就是通過登陸來確定是誰在調(diào)用接口,確定用戶身份。但是api接口并沒有登陸這種說法,而是通過token令牌來確定用戶身份,用戶登陸就是獲取一個令牌:
通用的Token令牌身份認(rèn)證體系:【在真正實現(xiàn)還會涉及具體的細(xì)節(jié)技術(shù),比如緩存和Token生成方式】
1、獲取Token令牌:
客戶端攜帶賬號、密碼去調(diào)用服務(wù)器api接口 getToken ( 是給用戶生成Token令牌的接口 )。
服務(wù)端驗證客戶端是否發(fā)放令牌。
2、訪問需要權(quán)限的業(yè)務(wù)接口:
客戶端攜帶Token訪問接口(比如下單接口)。
服務(wù)端查詢數(shù)據(jù)庫,驗證客戶端,通過就可以訪問下單接口了
具體項目:客戶端是小程序,因為小程序是基于微信體系,而微信已經(jīng)有自己的身份認(rèn)證體系。,所以沒必要再設(shè)計身份認(rèn)證體系。
1、獲取Token令牌:
小程序為每一個登陸用戶生成code碼,去調(diào)用服務(wù)器api接口 getToken ( 是給用戶生成Token令牌的接口 ),getToken發(fā)送請求把code傳送給微信服務(wù)器,微信服務(wù)器接收到code碼,返回openid 、session_key(openid相當(dāng)于用戶唯一身份標(biāo)識),服務(wù)端不能直接把openid傳到小程序,而是生成Token, 存儲openid,將Token和用戶信息存儲在緩存中,加快訪問速度,而不能直接存在數(shù)據(jù)庫中,這樣消耗大量內(nèi)存。
2、訪問接口:
小程序攜帶Token訪問接口(比如下單接口)。
服務(wù)端查詢緩存,驗證小程序,通過就可以訪問下單接口了。
其它可參考文章:
http://blog.csdn.net/u010832551/article/details/51003101
http://blog.csdn.net/iawwfn87/article/details/72594021
http://www.cnblogs.com/bukudekong/p/3829875.html
轉(zhuǎn)載于:https://my.oschina.net/u/3530967/blog/1526508
總結(jié)
以上是生活随笔為你收集整理的基于小程序的Token身份权限体系的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java使用jeids实现redis2.
- 下一篇: iOS中UIWebview中网页宽度自适