簡體   English   中英

Laravel API調用失敗。 PostMan使用基本身份驗證覆蓋授權標頭

[英]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變量,並將該令牌存儲在其中。

這是一篇幫助我使用JWT構建郵遞員收藏的文章

但是其中的某些腳本已過時。

我將從創建一個環境(本地)開始,在該環境中添加一個密鑰來存儲值為空的令牌(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 變量

回顧一下:

  1. 將用戶名和密碼發送到auth端點
  2. 將oauth令牌存儲在從步驟1返回的Postman變量中
  3. 使用{{ VARIABLE_NAME }}表示法將新令牌用作Postman變量

我建議使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM