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 护照 oauth 路线总是返回 401 未经授权