1. 程式人生 > >接口的token驗證

接口的token驗證

授權碼 模塊 所有 緩存 生成 功能 服務器 的區別 過期

token和RBAC的區別

技術分享圖片

就像上圖所描述的一樣,當前用戶拿到授權碼才可以有使用平臺的權限,而我們之前使用的RBAC控制,是用戶授權之後才發揮作用的。

Token在接口上的應用

我先說一下,什麽是三端分離?

技術分享圖片

從上面的圖我們可以看到,什麽是三段分離,也就是說我們把客戶端、服務器、數據端完全分開,他們三者各自部署在不同的服務器上。這樣做的好處是:對於類似功能模塊,服務端可以使用一套代碼為所有客戶端進行數據傳遞。

我們傳統的做法是,將模板信息和服務端混在一起,這樣做現在看來不是一個好的辦法。使用三端分離,他們之間是互相不影響的,如果有聯系,也是通過數據接口進行傳遞,這樣做更靈活,更方便;

這個時候token驗證當前客戶端有沒有權限訪問接口就順其自然,token只是授權

服務端實現一個token的驗證

第一步服務端要生成Token值

技術分享圖片

自己編寫的生成隨機字符串

技術分享圖片

第二步我們將生成的token作為Redis緩存的鍵來存儲

技術分享圖片

我們可以在Redis緩存裏面設置token過期的時間。

第三步也是我們經常要做的,對token進行驗證,判斷當前token是否有效

技術分享圖片

給出Redis緩存代碼

技術分享圖片

技術分享圖片

接口的token驗證