401 未经授权使用带有 Laravel Passport 的不记名令牌

Posted

技术标签:

【中文标题】401 未经授权使用带有 Laravel Passport 的不记名令牌【英文标题】:401 unauthorised using a bearer token with Laravel Passport 【发布时间】:2017-01-10 17:56:24 【问题描述】:

所以,我使用 Laravel 5.3 创建了一个网站,并安装了护照。

据我所知,安装和 Vue 组件创建令牌等一切正常。

我在我的用户区创建了一个个人令牌并尝试使用它来授权 API,但我每次都得到 401 未授权。

邮递员中带有请求的我的标题

我在这里的设置有什么遗漏吗?

我还尝试在单独的“consumer.dev”中遵循 oauth 流程,并且我在那里也遇到了未经授权的错误。

我已经检查了我的 config/auth.php 的内容并且有正确的驱动程序声明。

  'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],

我有点困惑从这里去哪里。任何帮助表示赞赏。

【问题讨论】:

【参考方案1】:

好的,非常感谢 laravel.io 聊天中的大量 jemaclus 进行此修复。

我将再次搜索以找到该页面,但他将我引导到一个页面,该页面显示如果您将 apache 与护照中使用的 JWT 令牌包一起使用,它会从请求中删除 Authorization 标头而不对虚拟进行一些修改在 apache 中托管。

因此,我切换回 nginx(重新使用宅基地)并且同一个项目中的所有请求都运行良好!

在我的情况下,我使用 Laragon 作为测试环境(附带 apache,而不是 nginx)

【讨论】:

似乎每个人都只是说无论我在哪里搜索都切换到 Nginx,任何人都可以提供使用 Apache 解决此问题的解决方案吗? 我正在尝试查找该页面,但据我所知,您可以将一个 sn-p 放入您的虚拟主机块中以对其进行修复。【参考方案2】:

把它放到你的虚拟主机配置文件中

重写引擎开启

RewriteCond %HTTP:Authorization ^(.+)$

RewriteRule .* - [E=HTTP_AUTHORIZATION:%HTTP:Authorization]

【讨论】:

以上是关于401 未经授权使用带有 Laravel Passport 的不记名令牌的主要内容,如果未能解决你的问题,请参考以下文章

laravel 6护照中未经授权的401错误

在内部生成 laravel 护照令牌。 401错误未经授权

Laravel 护照 oauth 路线总是返回 401 未经授权

在 Laravel 护照、vueJS 和 Axios 中获得未经授权的 401

角度 laravel 未经授权的 401 错误

使用 laravel Sanctum 和 api 令牌身份验证获取用户时出现 401(未经授权)[重复]