php - 护照身份验证在 Laravel 5.3 中不起作用

标签 php laravel laravel-routing laravel-5.3 laravel-passport

我已经按照此处的文档使用护照设置了 Laravel:

https://laravel.com/docs/5.3/passport .

我在 API 路由中编写了一条路由,并使用 postman 发送请求 http://localhost/laravel_project/public/api/user 但它向我显示了以下错误:

NotFoundHttpException in RouteCollection.php line 161:

我有以下路线(在routes/api.php中):

Route::get('/user', function (Request $request) {
    return array(
      1 => "John",
      2 => "Mary",
      3 => "Steven"
    );
})->middleware('auth:api');

但是当我删除 route 的 ->middleware('auth:api') 行时,它对我来说工作正常。

我该如何解决这个问题?

另外,如果我不想在某些 route 添加护照身份验证,我该如何执行此操作?

最佳答案

我遇到了同样的问题,似乎您必须将 Accept header 指定为 application/json,如 Matt Stauffer here 所示

一些进一步的说明:

  1. 您的默认 Accept header 设置为 text/html,因此 Laravel 会尝试将您重定向到 url /login 但您可能尚未完成 PHP artisan make:auth 所以它不会找到登录路由。
  2. 当您删除中间件后,它就会起作用,因为您不再验证您的请求
  3. 要对某些路由进行身份验证,只需使用 Route::groupauth:api 作为中间件对它们进行分组

关于php - 护照身份验证在 Laravel 5.3 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40218529/

相关文章:

windows - PHP 进程 ram 和 cpu 使用率 (windows)

php - 从 PHP 连接到 MySQL 嵌入式数据库

php - 自定义wordpress小部件发生错误

php - Laravel Artisan - 重新加载 .env 变量或重启框架

php - 用户应该成为 Laravel 中的资源吗?

global-variables - Laravel 8 中的全局变量

php - 向所有电报机器人成员发送消息

javascript - Laravel elixir "gulp watch"不监视 Javascript 更改

php - 如何提高 Laravel 过滤系统中多对多关系的查询速度?

laravel - 如何在 laravel 5 中更改密码重置消息?