您正在尝试从Postman调用API 使用的框架是:Laravel
该网站具有浏览器身份验证(使用.htacess)
API具有用户身份验证(Laravel Passport)(用户必须登录)
现在,
我需要调用API并包含两个标题,即
Basic Auth:username / pwd
授权:持票人oauthtoken
(其中oauthtoken是从API调用https://servername/auth和Basic Auth:username / pwd中获取的密钥)
现在,当我发送API调用时,
授权标题更改为:
授权:基本some_key
因此我得到了未经授权的答复 有什么方法可以一起发送浏览器信用卡和用户身份验证标头吗?
答案 0 :(得分:0)
在身份验证后检索到的OAuth令牌与Postman附加的用于基本身份验证的令牌不同。
如果您希望在请求中使用OAuth令牌,建议您查看Postman变量并将其存储在其中。
Here is an article that helped me build my Postman collection using JWT
但是其中的某些脚本已过时。
我首先创建一个环境(本地),在其中添加一个密钥来存储值为空的令牌(oauth_token)。
在Postman中的 auth 端点中,您可以检查 Tests 选项卡,在其中可以放置脚本来更新oauth令牌:
pm.test("Logged in successfully", function () {
var jsonData = pm.response.json();
pm.environment.set('oauth_token', jsonData.token);
});
此后,您可以将值 {{oauth_token}} 的授权承载添加到使用OAuth令牌的端点。
如果您想了解有关Postman变量的更多信息,这是一篇很棒的文章variables
回顾:
答案 1 :(得分:-1)
我建议使用Guzzle Library
$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
]
]);