[英]Laravel API call failed. PostMan overrides Authorization header with Basic Auth
您好,我想從郵遞員那里調用API。
使用的框架是:Laravel
該網站具有瀏覽器身份驗證(使用.htacess)
並且該API具有用戶身份驗證(Laravel Passport)(用戶必須登錄)
現在,
我需要調用一個API並包含兩個標頭,即
基本身份驗證:用戶名/密碼
授權:不記名oauthtoken
(其中oauthtoken是從API調用https:// servername / auth和Basic Auth檢索的密鑰:username / pwd)
現在,當我發送API調用時,
授權標題更改為:
授權:基本some_key
因此,我得到了未經授權的回應。
有什么方法可以一起發送瀏覽器憑據和用戶身份驗證標頭?
身份驗證后檢索到的OAuth令牌與Postman附加的用於基本身份驗證的令牌不同。
如果您希望在請求中使用OAuth令牌,建議您查看Postman變量,並將該令牌存儲在其中。
但是其中的某些腳本已過時。
我將從創建一個環境(本地)開始,在該環境中添加一個密鑰來存儲值為空的令牌(oauth_token)。
在Postman中的auth端點中,您可以檢查“ 測試”選項卡,在其中可以放置用於更新oauth令牌的腳本:
pm.test("Logged in successfully", function () {
var jsonData = pm.response.json();
pm.environment.set('oauth_token', jsonData.token);
});
之后,您可以將值{{oauth_token}}的授權承載添加到使用OAuth令牌的端點。
如果您想了解有關Postman變量的更多信息,那么這是一個很棒的post 變量
回顧一下:
我建議使用Guzzle庫
$http = new \GuzzleHttp\Client;
$response = $http->request('POST', 'http://quotible.web3box.com/oauth/token', [
'headers' => [
//you headers here
],
'form_params'=>[
//your browser based parameters here
]
]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.