PostMan受權認證使用

Authorization

對於不少應用,出於安全考慮咱們的接口並不但願對外公開。這個時候就須要使用受權(Authorization)機制。 受權過程驗證您是否具備訪問服務器所需數據的權限。 當發送請求時,一般必須包含參數,以確保請求具備訪問和返回所需數據的權限。 Postman提供受權類型,能夠輕鬆地在Postman本地應用程序中處理身份驗證協議。javascript

Postman中受權協議類型

支持的受權協議類型:java

  • Inherit auth from parent
  • No Auth
  • API key
  • Bear Token
  • Basic Auth
  • Digest Auth
  • OAuth 1.0
  • OAuth 2.0
  • Hawk Authentication
  • AWS Signature
  • NTML Authentication[Beta]

Inherit auth from parent(從父類集成身份驗證)

向集合或文件夾添加受權。 假設您在集合中添加了一個文件夾。在受權選項卡下,默認的受權類型將被設置爲「從父類繼承auth」。json

「從父」設置的「繼承auth」指示默認狀況下,該文件夾中的每一個請求都使用父類的受權類型。假如,該集合使用「No Auth」,所以該文件夾使用「No Auth」,這意味着該文件夾中的全部請求將使用「No Auth」安全

若是您但願將父集合受權類型保留爲「No Auth」,但要更新這個特定的文件夾的受權助手,該怎麼辦呢?您能夠編輯文件夾的詳細信息,從類型下拉菜單中選擇「基本的Auth」,並輸入您的憑證。所以,這個文件夾中的每一個請求都依賴於「基本的Auth」,而父集合中的其他請求仍然不使用任何受權。服務器

No Auth

不須要認證,這是默認選中的。post

Basic Auth

這是一種比較簡單的受權類型,須要通過驗證的用戶名和密碼才能訪問數據資源。這就須要咱們輸入用戶名和對應的密碼。 使用基自己份驗證: 第一步:從下拉菜單中選擇「Basic Auth」。 第二步:要設置請求的受權參數,請輸入您的用戶名和密碼。加密

第三步:點擊發送按鈕。spa

目前項目中使用的就是這種認證方式。code

案例:請求URL以下,受權帳號爲:blog

  • 用戶名:username

  • 密碼:password

  • 受權協議爲:Basic Auth

    https://{{beta}}/oauth2/token?grant_type=password&sms_verify=true
  • 若是不輸入用戶密碼,直接GET請求,則會返回提示:Unauthorized

  • 輸入用戶名密碼,選擇Basic auth受權類型,則返回以下結果

{
    "access_token": "dda7b55f-574d-4de6-9f62-d849d5894ba9",
    "token_type": "bearer",
    "refresh_token": "1da3f4fb-dbf7-40d6-9316-32916f4c0d03",
    "expires_in": 3599,
    "scope": "READ WRITE"
}

postman中這裏使用的是保存登陸的token,在下一個接口中使用該token信息。

代碼以下:

if(responseCode.code === 200){
    // 判斷是否存在 'access_token' 值  
    tests["Body matches access_token"] = responseBody.has("access_token");
    //保存響應結果json
    var jsonData = JSON.parse(responseBody);
    //將響應結果中的access_token保存爲全局變量hb_access_token
    postman.setGlobalVariable("hb_access_token",jsonData.access_token);
    //打印請求參數
    tests[`[INFO] Request params: ${JSON.stringify(request.data)}`] = true;
// tests["have result "]=jsonData.hasOwnProperty("error")!==true;
	//驗證響應結果中存在access_token
    tests["have data "]=jsonData.hasOwnProperty("access_token")===true;
    //驗證該接口的響應時間
    tests[`[INFO] Response timeout: ${responseTime}`] = responseTime < 6000;
}else{
    //接口請求失敗
    tests["Waring:Request Failed. Please Fix!"] = false;
}

使用Basic Auth認完成。在下一個接口中,如何使用已經保存的全局變量access_token,如圖

Bear Token

Bearer Token是安全令牌。任何帶有Bearer Token的用戶均可以使用它來訪問數據資源,而無需使用加密密鑰。

相關文章
相關標籤/搜索