You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Passport中如何将访问令牌附加到受保护API请求?

如何给受Laravel Passport保护的API请求附加访问令牌

Hey there! 既然你已经通过Postman生成了Laravel Passport的访问令牌,又用auth:api中间件保护了API路由,接下来只需要把令牌正确附加到请求里就能访问这些接口了,我给你分场景说说具体做法:

在Postman中发送请求时附加令牌

这是你当前用得最多的场景,有两种常用方式,优先推荐第一种:

  • 使用Authorization请求头(标准做法)
    1. 打开你要测试的请求(比如GET /prepare/)
    2. 切换到Headers标签页
    3. 添加一条新的请求头:
      • Key填 Authorization
      • Value填 Bearer 你的访问令牌(注意Bearer和令牌之间必须有一个空格)
  • 使用URL查询参数(备选)
    如果你临时测试,也可以直接在URL末尾拼接参数:
    http://你的域名/api/prepare/?api_token=你的访问令牌
    
    不过这种方式安全性较低,令牌容易在日志或传输过程中泄露,不推荐在生产环境使用。

在代码中发送请求时附加令牌

如果是前端或者后端服务调用这些API,也对应不同的实现方式:

前端示例(以Axios为例)

可以全局配置让所有请求自动携带令牌,也可以给单个请求单独设置:

// 全局配置,所有Axios请求都会带上令牌
axios.defaults.headers.common['Authorization'] = 'Bearer ' + 你的访问令牌;

// 单个请求单独设置
axios.post('/api/replace/', 你的请求数据, {
  headers: {
    'Authorization': 'Bearer ' + 你的访问令牌
  }
});

后端示例(以PHP Guzzle为例)

如果是在其他服务或者Laravel内部调用这些API,可以这么写:

use GuzzleHttp\Client;

$accessToken = '你的访问令牌内容';
$client = new Client();

$response = $client->get('http://你的域名/api/collage/', [
    'headers' => [
        'Authorization' => 'Bearer ' . $accessToken,
    ],
]);

补充说明:Laravel Passport的auth:api中间件默认会优先校验Authorization头里的Bearer令牌,只有当这个头不存在时,才会去检查api_token查询参数,所以用请求头的方式是最规范、最安全的选择。

内容的提问来源于stack exchange,提问作者Viktor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:34:53