前言:本章將學習Postman當中的授權——Authorization
一、簡介
Authorization顧名思義就是授權的意思,那是給誰授權呢?又有多少種授權的方式呢?Authorization是給本地請求授權,使其擁有向服務器訪問和獲得所需數據的權限;Postman中一共擁有十種Authorization類型。以下是Postman官網提供的原話:Authorization是驗證是否擁有從服務器訪問所需數據的權限。當發送請求時,通常必須包含參數,以確保請求具有訪問和返回所需數據的權限。Postman提供了授權類型,可以輕松地在Postman本地應用程序中處理身份驗證協議。
二、用法
在Postman中一共提供了十種authorization類型,下面來一一介紹其用法。
注意:NTLM和BearerToken在Postman本地應用程序(下載本地應用程序)中可用。所有其他授權類型都可以在Postman本地應用程序和Chrome應用程序中使用。請注意,Postman Chrome應用程序已被棄用。
1、Inherit auth from parent (從父類繼承身份驗證)
可向集合(collection)或者文件夾(folder)添加授權。
下面舉一個簡單的案例來說明下用法:
假設現在有這樣的一個集合,它的授權方式是"No Auth"(不使用任何授權),我們在集合下面添加一個文件夾並將此文件夾的默認授權方式更改為"Inherit auth from parent",那么此文件夾下的所有請求將使用父類的授權類型,即集合的授權類型——"No Auth";
假設我們現在又有一個需求,在不改變父類(這里是指集合)默認授權方式的情況下,想改變上面文件夾下所有請求授權方式的為"Basic Auth",這個該怎么實現呢?實際上也非常的簡單,只需要修改此文件夾下的授權類型為"Basic Auth";此時,這個文件夾中的每個請求都依賴於"Basic Auth",而父集合中的其余請求仍然不使用任何授權。
2、No Auth
當不需要授權參數發送請求時,使用"No Auth"。
3、Bearer Token
Bearer Token是安全令牌。任何帶有Bearer Token的用戶都可以使用它來訪問數據資源,而無需使用加密密鑰。
使用Bearer Token:
第一步:從下拉菜單中選擇"Bearer Token"。
第二步:要設置請求的授權參數,請輸入令牌的值。
第三步:點擊發送按鈕。
4、Basic Auth
基本身份驗證是一種比較簡單的授權類型,需要經過驗證的用戶名和密碼才能訪問數據資源。這就需要我們輸入用戶名和對應的密碼。
使用基本身份驗證:
第一步:從下拉菜單中選擇"Basic Auth"。
第二步:要設置請求的授權參數,請輸入您的用戶名和密碼。
第三步:點擊發送按鈕。
由於"Basic auth"使用明文傳遞,目前基本很少使用了。
5、Digest Auth
在"Digest Auth"流程中,客戶端向服務器發送請求,服務器返回客戶端的nonce和realm值;客戶端對用戶名、密碼、nonce值、HTTP請求方法、被請求資源URI等組合后進行MD5運算,把計算得到的摘要信息發送給服務端。服務器然后發回客戶端請求的數據。
通過哈希算法對通信雙方身份的認證十分常見,它的好處就是不必把具備密碼的信息對外傳輸,只需將這些密碼信息加入一個對方給定的隨機值計算哈希值,最后將哈希值傳給對方,對方就可以認證你的身份。Digest思想同樣采如此,用了一種nonce隨機數字符串,雙方約好對哪些信息進行哈希運算即可完成雙方身份的驗證。Digest模式避免了密碼在網絡上明文傳輸,提高了安全性,但它仍然存在缺點,例如認證報文被攻擊者攔截到,攻擊者可以獲取到資源。
默認情況下,Postman從響應中提取值對應的值。如果不想提取這些值,有以下兩種選擇:
- 在所選字段的高級部分中輸入您自己的值
- 勾選“Yes,disable retrying the request”復選框
6、OAuth 1.0
OAuth 1.0是一種可以讓我們在不公開密碼的情況下授權使用其他應用程序的授權模式。
在Postman中按照以下步驟使用OAuth 1.0授權:
- 在Authorization下來授權標簽中選擇“OAuth 1.0”授權模式;
- 在“Add authorization data to” 下拉選擇框中,選擇對應的請求模式。
當選擇“Request Body/Request URL”時,Postman將檢查請求方法是POST還是PUT,以及請求主體類型是否是x-www-form-urlencoded
;如果是這樣,Postman將增加授權參數到請求主體。對於所有其他情況,它會向URL添加授權參數。
7、OAuth 2.0
OAuth 2.0作為OAuth 1.0的升級版本。在Postman中按照以下步驟進行使用:
- 在Authorization下來授權標簽中選擇“OAuth 2.0”授權模式;
- 在“Add authorization data to”下拉選擇框中,選擇對應的請求模式;
- 設置請求的授權參數,有以下三個選擇:
- 點擊“Get New Access Token”按鈕,在彈出的對話框中輸入對應的參數;單擊“Request Token”按鈕獲取對應的Token。接下來有了對應的Token后,就可以點擊“Send”按鈕發送請求了;
- 在“Access Token”輸入框中輸入一個Token,或者Token對應的環境變量,然后就可以點擊“Send”按鈕發送請求了;
- 在“Available Tokens”下拉框中選擇已經存在的Token,然后發送請求。
8、Hawk Authentication
hawk是一個HTTP認證方案,使用MAC(Message Authentication Code,消息認證碼算法)算法,它提供了對請求進行部分加密驗證的認證HTTP請求的方法,包括HTTP方法、請求URI和主機。
hawk方案要求提供一個共享對稱密匙在服務器與客戶端之間,通常這個共享的憑證在初始TLS保護階段建立的,或者是從客戶端和服務器都可用的其他一些共享機密信息中獲得的。
本章主要參考Postman官網:https://learning.getpostman.com/docs/postman/sending-api-requests/authorization/