相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
yii2 resetful 授權(quán)驗證詳解
什么是restful風格的api呢?我們之前有寫過大篇的文章來介紹其概念以及基本操作。
既然寫過了,那今天是要說點什么嗎?
這篇文章主要針對實際場景中api的部署來寫。
我們今天就來大大的侃侃那些年api遇到的授權(quán)驗證問題!獨家干活,如果看完有所受益,記得不要忘記給我點贊哦。
業(yè)務分析
我們先來了解一下整個邏輯
1.用戶在客戶端填寫登錄表單
2.用戶提交表單,客戶端請求登錄接口login
3.服務端校驗用戶的帳號密碼,并返回一個有效的token給客戶端
4.客戶端拿到用戶的token,將之存儲在客戶端比如cookie中
5.客戶端攜帶token訪問需要校驗的接口比如獲取用戶個人信息接口
6.服務端校驗token的有效性,校驗通過,反正返回客戶端需要的信息,校驗失敗,需要用戶重新登錄
本文我們以用戶登錄,獲取用戶的個人信息為例進行詳細的完整版說明。
以上,便是我們本篇文章要實現(xiàn)的重點。先別激動,也別緊張,分析好了之后,細節(jié)部分我們再一步一個腳印走下去。
準備工作
1.你應該有一個api應用.
2.對于客戶端,我們準備采用postman進行模擬,如果你的google瀏覽器還沒有安裝postman,請先自行下載
3.要測試的用戶表需要有一個api_token的字段,沒有的請先自行添加,并保證該字段足夠長度
4.api應用開啟了路由美化,并先配置post類型的login操作和get類型的signup-test操作
5.關(guān)閉了user組件的session會話
關(guān)于上面準備工作的第4點和第5點,我們貼一下代碼方便理解
'components' => [ 'user' => [ 'identityClass' => 'common\models\User', 'enableAutoLogin' => true, 'enableSession' => false, ], 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'enableStrictParsing' => true, 'rules' => [ [ 'class' => 'yii\rest\UrlRule', 'controller' => ['v1/user'], 'extraPatterns' => [ 'POST login' => 'login', 'GET signup-test' => 'signup-test', ] ], ] ], // ...... ],