今天研發同事提供了一個驗證token的接口,要驗證token的正確性,現在將整個過程做如下記錄:
- 場景:驗證token的正確性
- 原理:首先用戶登錄成功后,會在Response headers中返回一個token值,以及在響應信息中,返回用戶id。驗證token時,需要獲取這個token值以及用戶id作為參數去驗證token的正確性,如果正確,則返回TRUE;反之,則返回FALSE。
- 分析:如果要驗證token的正確性,那么第一步就是在登錄成功后,去拿對應的值,並把這個值作為參數,放到token的接口中進行傳參。
實施如下:
1.接口:
- 驗證token正確性
-
- 地址:http://ip:port/user-center/usertoken/validatetoken
- 方式:post
- 參數:*userid:用戶id ;*token:當前的token值
- 用戶登錄
-
- 地址:http://ip:port/user-center/user/json/login
- 方式:post
- 參數:*LOGIN:登錄名 ;*PASSWORD:密碼,通過md5加密之后的密碼
2.實施過程:
-
- 第一步:添加第一個http請求:用戶登錄(此處不多講)

運行結果如下(在結果中我圈出了在驗證token中需要的參數值):

-
- 第二步:使用“正則表達式提取器”獲取上面的兩個值

-
- 第三步:添加第二個http請求:驗證token

備注:此處的參數化中的值,要與“第二步中的引用名稱保持一致”
-
- 第四步:運行,並查看結果(大家可以比較一下,此處獲取的值與“第一步運行結果”的值是否一致,如果一致,則說明獲取成功,如果不一致,則說明在配置中存在問題)

3.問題
總結一下在此次實施過程遇到的問題:
- 問題一:參數化后,獲取token值有誤,不能取到值
原因:1,“要檢查的響應字段”選錯,應該選擇“信息頭(響應信息頭)”
2,正則表達式有誤,沒有加上結束的判斷,更改后為“TOKEN: (.+?)\s\S”或者“TOKEN: (.+?)\n”(因為有換行)
4.相關知識
- 正則
