Laravel 护照 404
Posted
技术标签:
【中文标题】Laravel 护照 404【英文标题】:Laravel Passport 404 【发布时间】:2017-09-14 06:06:30 【问题描述】:我使用 Laravel 文档安装了 Laravel Passport,Laravel 版本是 5.4。
到目前为止一切正常,现在我将这些行添加到我的视图中:
<!-- let people make clients -->
<passport-clients></passport-clients>
<!-- list of clients people have authorized to access our account -->
<passport-authorized-clients></passport-authorized-clients>
<!-- make it simple to generate a token right in the UI to play with -->
<passport-personal-access-tokens></passport-personal-access-tokens>
UI 看起来不错,但如果我尝试添加新的客户端或令牌,我会收到以下消息:
哎呀!出了点问题!
Something went wrong. Please try again.
我的 Chrome 开发控制台显示以下内容:
GET http://192.168.3.80/oauth/tokens 404 (Not Found) app.js:1175
GET http://192.168.3.80/oauth/personal-access-tokens 404 (Not Found) app.js:1175
GET http://192.168.3.80/oauth/scopes 404 (Not Found) app.js:1175
我按照文档中的步骤进行操作:https://laravel.com/docs/5.4/passport
之后,我按照视频中的步骤进行操作,但仍然无法正常工作。 https://laracasts.com/series/whats-new-in-laravel-5-3/episodes/13
如果我按下按钮,我会在开发控制台中收到此帖子错误:
POST http://localhost/oauth/clients 404(未找到) 发布http://localhost/oauth/clients 404(未找到) 发布http://localhost/oauth/clients 404(未找到)
所以是路径的原因?
vue 文件显示如下:
客户端.vue
store()
this.persistClient(
'post', '/oauth/clients',
this.createForm, '#modal-create-client'
);
,
【问题讨论】:
在你的.env
文件中设置APP_DEBUG=true
,这样你就可以看到详细的错误了。
设置为true 哪里可以看到详细的?
那么你应该在Whoops! Something went wrong!
之后看到一个详细的日志。
artisan route:list
打印什么?
您的AuthServiceProvider
中的boot()
方法的末尾应该有Passport::routes();
。你检查了吗?
【参考方案1】:
侧信道通信 (IRC) 显示 Laravel 安装在子路径 (http://192.168.3.80/myapp/public/
) 中,并且 URL 假定应用程序位于根目录中。
解决方案是更改您的网络服务器配置并将根 (nginx) 或 DocumentRoot (apache) 设置为 Laravel 的公共文件夹。
【讨论】:
如何更改配置,更改哪些行? 这基本上就是他的意思。我相信您会将您的站点部署到您将拥有虚拟主机的虚拟专用服务器。也就是说,如果您将虚拟主机指向 laravel 公用文件夹,该站点将使用它作为 root 并且这将很好地工作。无需更改网址等等。如果您要部署到 FTP 托管,那么您将比上述更痛苦(我不知道如何解决)。因此,如果您要部署到 VPS,以启用本地开发,请始终使用php artisan serve
,它将从公共运行站点并且 URL 将起作用。【参考方案2】:
在 url "/oauth/personal-access-tokens" 之前添加 .. 作为 "../oauth/personal-access-tokens" 并对其他网址做同样的事情 它适用于 laravel 5.8
【讨论】:
以上是关于Laravel 护照 404的主要内容,如果未能解决你的问题,请参考以下文章
404 - 未找到存在 Laravel 8 的 Passport Api 路由