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

Laravel 5.4 Passport个人令牌Postman请求/api/user提示未认证

Laravel 5.4 Passport 个人令牌请求问题排查方案

我目前正在用 Laravel 5.4 的 Passport 组件实现个人令牌功能,尝试通过 Postman 向 /api/user 接口发送 GET 请求,但遇到了无法正常获取数据的问题。我的操作流程如下:

  • 先向 /oauth/personal-access-tokens 发送 GET 请求,从响应结果里提取到了个人令牌
  • 按照官方文档要求,在 Postman 中配置 /api/user 的 GET 请求:
    • 添加请求头 Accept: application/json
    • 添加请求头 Authorization: Bearer [提取到的令牌内容]
  • 另外,登录系统后,我在浏览器中访问 http://192.168.10.15/oauth/personal-access-tokens 是能正常看到令牌相关内容的。

针对这类常见问题,给你几个实用的排查方向:

1. 验证令牌有效性

  • 先检查复制的令牌是否完整,有没有多空格、漏字符的情况
  • 可以通过 Passport 的令牌验证接口确认有效性:
    # Postman 请求配置
    请求方法:POST
    请求地址:/oauth/token/verify
    请求头:Accept: application/json
    请求体(JSON格式):{"token": "你的个人令牌内容"}
    

2. 检查路由与中间件配置

  • 确保 /api/user 路由已被 auth:api 中间件保护,在 routes/api.php 中应该是类似这样的代码:
    Route::middleware('auth:api')->get('/user', function (Request $request) {
        return $request->user();
    });
    
  • 确认 Passport 中间件已正确注册到 app/Http/Kernel.php 的 $routeMiddleware 数组:
    'auth:api' => \Illuminate\Auth\Middleware\Authenticate::class.':api',
    

3. 核对 Postman 请求头格式

  • 重点检查 Authorization 头的格式:必须是 Bearer 后面紧跟令牌,中间只有一个空格,不要有多余符号或换行
  • 确保没有其他冲突的请求头(比如缓存类头)干扰验证逻辑

4. 确认令牌权限范围

  • 如果你的 /api/user 接口需要特定权限,要确保生成个人令牌时已赋予对应的 scope,没有权限范围的令牌可能无法访问受保护接口

如果按上述步骤排查后仍有问题,建议把 Postman 的报错信息、服务器日志内容贴出来,这样能更精准地定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:21:47