php-使用CURL设置Bearer令牌的正确方法

我从API端点获取了承载令牌,并设置了以下内容:

$authorization = "Bearer 080042cad6356ad5dc0a720c18b53b8e53d4c274"

接下来,我想使用CURL访问安全端点,但是不确定如何或在何处设置Bearer令牌。

我已经尝试过了,但是没有用:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization ));

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_POSTFIELDS,$post);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

$result = curl_exec($ch);

curl_close($ch);

return json_decode($result);

编辑:

根据文档,我应该这样使用承载令牌:[https://apigility.org/documentation/auth/authentication-oauth2]

GET /oauth/resource HTTP/1.1

Accept: application/json

Authorization: Bearer 907c762e069589c2cd2a229cdae7b8778caa9f07

5个解决方案

76 votes

更换:

$authorization = "Bearer 080042cad6356ad5dc0a720c18b53b8e53d4c274"

与:

$authorization = "Authorization: Bearer 080042cad6356ad5dc0a720c18b53b8e53d4c274";

使其成为有效且有效的Authorization标头。

Hans Z. answered 2020-01-17T04:57:24Z

17 votes

这是一个cURL函数,可以发送或检索数据。 它应与支持OAuth的任何PHP应用程序一起使用:

function jwt_request($token, $post) {

header('Content-Type: application/json'); // Specify the type of data

$ch = curl_init('https://APPURL.com/api/json.php'); // Initialise cURL

$post = json_encode($post); // Encode the data array into a JSON string

$authorization = "Authorization: Bearer ".$token; // Prepare the authorisation token

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization )); // Inject the token into the header

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_POST, 1); // Specify the request method as POST

curl_setopt($ch, CURLOPT_POSTFIELDS, $post); // Set the posted fields

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // This will follow any redirects

$result = curl_exec($ch); // Execute the cURL statement

curl_close($ch); // Close the cURL connection

return json_decode($result); // Return the received data

}

在单向或双向请求中使用它:

$token = "080042cad6356ad5dc0a720c18b53b8e53d4c274"; // Get your token from a cookie or database

$post = array('some_trigger'=>'...','some_values'=>'...'); // Array of data with a trigger

$request = jwt_request($token,$post); // Send or retrieve data

SergeDirect answered 2020-01-17T04:57:48Z

8 votes

这应该工作

$token = "YOUR_BEARER_AUTH_TOKEN";

//setup the request, you can also use CURLOPT_URL

$ch = curl_init('API_URL');

// Returns the data/output as a string instead of raw data

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

//Set your auth headers

curl_setopt($ch, CURLOPT_HTTPHEADER, array(

'Content-Type: application/json',

'Authorization: Bearer ' . $token

));

// get stringified data/output. See CURLOPT_RETURNTRANSFER

$data = curl_exec($ch);

// get info about the request

$info = curl_getinfo($ch);

// close curl resource to free up system resources

curl_close($ch);

Sudirman Hung answered 2020-01-17T04:58:08Z

0 votes

如果您使用的是专用令牌(例如Gitlab API),则应替换:

$authorization = "PRIVATE-TOKEN 080042cad6356ad5dc0a720c18b53b8e53d4c274";

与:

$authorization = "PRIVATE-TOKEN 080042cad6356ad5dc0a720c18b53b8e53d4c274";

GuGuss answered 2020-01-17T04:58:41Z

0 votes

食尸鬼的例子:

use GuzzleHttp\Client;

use GuzzleHttp\RequestOptions;

$token = 'your_token';

$httpClient = new Client();

$response = $httpClient->get(

'https://httpbin.org/bearer',

[

RequestOptions::HEADERS => [

'Accept' => 'application/json',

'Authorization' => 'Bearer ' . $token,

]

]

);

print_r($response->getBody()->getContents());

见[https://github.com/andriichuk/php-curl-cookbook#bearer-auth]

Serge Andriichuk answered 2020-01-17T04:59:05Z

php bearer token,php-使用CURL设置Bearer令牌的正确方法相关推荐

  1. php bearer token,接口认证方式:Bearer Token

    因为HTTP协议是开放的,可以任人调用.所以,如果接口不希望被随意调用,就需要做访问权限的控制,认证是好的用户,才允许调用API. ​目前主流的访问权限控制/认证模式有以下几种: 1) Bearer ...

  2. QSplitter设置宽高比例的正确方法

    问题 实际开发中,需要经常调整QSplitter中子窗口的宽度/高度比例.对水平QSplitter来说,是宽度比例:对垂直QSplitter来说,是高度比例.下面以水平QSplitter为例说明. 我 ...

  3. Bearer Token 了解

    一种令牌类型.Oauth2.0的官网有说明(OAuth 2.0 Bearer Token Usage) RFC6749 RFC6750 Bearer Type Access Token: BEARER ...

  4. xhr 设置bearer token Authorization

    在send前添加下述代码,其中token为token字符串, 注意bearer后面的空格 xhr.setRequestHeader("Authorization", "b ...

  5. ASP.NET Core Web API 集成测试中使用 Bearer Token

    在 ASP.NET Core Web API 集成测试一文中, 我介绍了ASP.NET Core Web API的集成测试. 在那里我使用了测试专用的Startup类, 里面的配置和开发时有一些区别, ...

  6. Bearer Token的相关定义与使用方法

    原文地址:http://www.haomou.net/2014/08/13/2014_bare_token/ 来龙去脉 诸如Ember,Angular,Backbone之类的前端框架类库正随着更加精细 ...

  7. Postman如何携带token——Bearer Token和Headers

    目录 一.使用场景 二.设置Bearer Token 1.设置你的环境变量 2.项目集合设置认证方式及环境变量 3.登录接口的脚本 三.通过脚本设置Headers 1.登录请求设置环境变量 2.设置集 ...

  8. java 发送Bearer token请求

    问题: 在与其他系统进行交互时,客户的服务端需要这样认证,没有办法,只能java 来拼凑了. java 代码实现如下: HttpHeaders httpHeaders = new HttpHeader ...

  9. 什么是JWT?OAuth2以及Bearer Token基本解析

    最近在做关于不同权限用户对接口权限访问的校验程序,包括基于 Bearer token&&Password 的 OAuth2 校验方式以及 基于JWT tokens with Beare ...

最新文章

  1. 玩Android的第一天
  2. NYOJ 150 Train Problem I STL栈
  3. java 数据库 字段名 转_Java正则表达式实现表字段名和驼峰式命名转换
  4. Spring对java模块化支持_Spring项目对JDBC的支持和基本使用
  5. 一般处理程序(ashx)和页面处理程序(aspx)的区别
  6. 程序员面试金典 - 面试题 10.02. 变位词组(哈希map)
  7. 信息学奥赛一本通 1096:数字统计 | 1949:【10NOIP普及组】数字统计 | OpenJudge NOI 1.5 41
  8. python爬虫 被重定向_爬虫篇 | 认识Python最最最常用语重要的库Requests
  9. 垂直电商独立站,到底有何优势?
  10. B站ACM算法资源汇总
  11. 用R语言下载任意地区DEM数据
  12. 鼠标使用板载内存和使用计算机上,【罗技G5鼠标评测】板载内存 没有驱动也能自定义-中关村在线...
  13. MAXHUB会议平板的无线投屏怎么用?
  14. java中的match函数_javascript中match函数的用法小结
  15. 阅读笔记《量产必备的毫米波雷达》
  16. 新年亲朋好友最经典的“互相伤害”,你中过几条?
  17. 不使用库函数实现字符串复制函数strCopy
  18. 简练软考知识点整理-项目管理过程与过程组
  19. hightCharts制作三维立体图
  20. php 上标和下标,css如何显示文字的上标和下标

热门文章

  1. 筛选服务器连接暂时不可用,某个自定义筛选器或模块khy-016(如 URLScan)限制了对该文件的访问...
  2. 华为智能汽车产业研究与投资机会分析
  3. 微信浏览器 打开zip文件_愚蠢的怪胎技巧:使用7-Zip作为快速的文件浏览器
  4. 仿开心网的前端页面 html+css
  5. 数据库 - 逻辑结构设计
  6. Stetman读paper小记:ATTEQ-NN
  7. 安道拓Adient EDI 830物料需求预测报文详解
  8. 2015年哈工大数理逻辑A期末考试参考答案(2)
  9. 微信小程序 从零开发房屋租赁平台
  10. Windows Live Writer 新浪、网易、blogcn、blogbus、cnblogs博客的设置