鍍金池/ 問答/數(shù)據(jù)庫  HTML/ 使用jwt 做登錄注冊,登錄之后第二次登錄如何進(jìn)行驗(yàn)證跳過登錄?

使用jwt 做登錄注冊,登錄之后第二次登錄如何進(jìn)行驗(yàn)證跳過登錄?

1.第一次登錄之后返回給前端token,然后前端拿著token再去獲取相應(yīng)的數(shù)據(jù)
2.第二次登錄的時(shí)候則不需要再次輸入賬號密碼直接跳入相應(yīng)頁面

第一個(gè)想的是利用存儲用戶id去redis取token然后再次驗(yàn)證,但必須把添加不需要驗(yàn)證的連接,但是我感覺這樣不太好

app.use(jwtKoa({secret}).unless({
    path: [/^\/adduser/, /^\/login/] ///^\/product\/getToken/數(shù)組中的路徑不需要通過jwt驗(yàn)證
}))

第二個(gè)是根據(jù)用戶id存儲客戶端token,然后拿著這個(gè)token再去驗(yàn)證

學(xué)習(xí)node+koa想寫小例子練習(xí)一下,但不知道該怎么去寫了,請指點(diǎn)一下

回答
編輯回答
葬愛
  1. 這里要么黑名單,要么白名單,看你的需要(但我感覺你是都不想)。
  2. 如果你是客戶端渲染(不訪問后端服務(wù)),那token默認(rèn)是能通過認(rèn)證的(但是你還可以存自己的信息做前端驗(yàn)證,比如超時(shí)),直接跳到到相應(yīng)頁面就行了(這時(shí)候還會發(fā)請求拿數(shù)據(jù),此時(shí)需要后端驗(yàn)證token及權(quán)限)。而如果你是服務(wù)端渲染(訪問后端服務(wù)),那直接驗(yàn)證該跳哪跳哪。
2018年4月14日 06:55