昨天在項目進行接口實戰過程中,接觸到了Title提及的關鍵詞Authorization , 基於登錄請求之外的任何操作進行想后台發送的請求,在request headers中都帶了訪問權限認證
03 那么它在Postman中起到什么作用呢?
其實同樣的也是授權作用;授權過程就是驗證我們是否有權限從服務器訪問所需的數據。發送請求時,通常必須包含參數以確保請求有權訪問並返回所需的數據。Postman提供的授權類型可以讓我們輕松處理Postman進行接口測試中的身份驗證協議。
04 Authorization類型
在postman中Authorization分為以下幾種類型:
注意:應當注意:NTLM和BearerToken僅在Postman本地應用程序中可用。所有其他授權類型都可以在Postman本地應用程序和Chrome應用程序中使用。
1>Inherit auth from parent
向集合或文件夾添加授權。
假設您在集合中添加了一個文件夾。在授權選項卡下,默認的授權類型將被設置為“從父類繼承auth”。
“從父”設置的“繼承auth”指示默認情況下,該文件夾中的每個請求都使用父類的授權類型。在本例中,該集合使用“No Auth”,因此該文件夾使用“No Auth”,這意味着該文件夾中的所有請求將使用“No Auth”
如果您希望將父集合授權類型保留為“No Auth”,但要更新這個特定的文件夾的授權助手,該怎么辦呢?您可以編輯文件夾的詳細信息,從類型下拉菜單中選擇“基本的Auth”,並輸入您的憑證。因此,這個文件夾中的每個請求都依賴於“基本的Auth”,而父集合中的其余請求仍然不使用任何授權
2>No Auth
默認情況下,“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保護階段建立的,或者是從客戶端和服務器都可用的其他一些共享機密信息中獲得的
05 操作實例
請求地址:https://yingxiao.xuanwo001.com/#/index
在線登錄:用戶名,密碼.... 成功登錄
登錄進去,可以看到我們的請求頭里生成了Authentication,
此時我准備進行一個購買月會員的接口進行測試,好我們來看看請求哈;
請求地址:
請求頭:
入參:
Postman歷往獲取的Authentication,因為該字段是存在時效性的所以如果我們每次這樣的每個請求手動去更新添加很麻煩,所以我在這里將他設置為環境變量
我們來請求一下該過期的的接口,相當於就是沒有該值一樣的意思;返回請登陸后訪該功能,意思就是沒有權限
然后我們將今天剛上方登錄新生成的Authentication:Bearer 503e9619f2346adf1a269ba44acd47904661abd0 帶入到變量里面去進行更新保存
接着 我們做接口測試肯定是多個事件而不是一個事件對吧,我這里還做了一步操作就是將我們的所有的該項目的一連串的接口直接存放在同一個集合中
Postman之集合(collections) 然后編輯該集合的全局Authentication ;
設置--->選擇類型為 API key 然后添加key & value
這里的作用就是我們編輯的全局Authentication,我們其它集合就無需再請求頭中去手動編輯添加Authentication,,直接執行調用該Authentication環境變量;針對所有的請求需要這個權限認證來說;這樣比之前節省時間效率多了;
我們再來執行下接口,可以看到請求頭里的Authentication值自動更新為我環境變量的值,同時請求也通過認證;正常返回響應值
成功請求響應
06 總結
好了,到此關於Postman中的Authentication的內容都到此總結完畢。這是針對這類項目請求需要用到這個,一般的類型的都是我們直接從返回里獲取登陸的憑證,然后將該值寫入變量,下一個請求進行引用;
內容不多,但是比較簡單,好理解。總結工具性的內容就有這么個好處,內容不多,理解簡單,記憶性的東西多,不比設計、原理性的東西那樣需要更多的去理解。最后,希望我的這篇文章對你有幫助~
————————————————
原文鏈接:https://blog.csdn.net/tester_sc/article/details/105736267