首页 > 解决方案 > 如果我在 api.php 中使用,为什么 auth('api')->user() 返回 null 但如果我在 web.php 中使用它,它正在工作

问题描述

我正在使用 Laravel 7,在api.php中有这段代码

Route::middleware(['auth:api'])->get('/booking','APIController@testauth');

public function testauth() {
    $userInfo=auth('api')->user();
}

如果我使用它,它会将我重定向到主页,如果我不使用中间件,它会返回 null。
不过,如果我在web.php上使用它,它会返回给我用户。

这种差异从何而来?

标签: phpbackendlaravel-7

解决方案


对于 API,请使用 Auth Facade 获取用户

Auth::user()

推荐阅读