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 路由

在 laravel 护照中注销用户

用于生成的 Laravel 护照令牌

使用外部 Laravel 护照流明 api 进行 Laravel 客户端身份验证

Laravel 护照(看不懂)

如何使用 Chrome 扩展程序获取 Laravel 护照令牌?