Laravel - Jetstream - 路由身份验证 api/web



我得到的:

  • 创建了一个新的 Jetstream 项目(惯性)并Features::api()jetstream.php配置中启用,
  • web.php
    Route::middleware(['auth:sanctum', 'verified'])->get('/testweb', function () {
    return "test web called";
    })->name('testweb');
    
  • api.php
    Route::get('/testapi', function(){
    return 'api called';
    })->middleware('auth:sanctum');
    
  • 我还创建了一个测试 API 令牌

现在,当我在浏览器中调用/testweb登录时,我会收到"测试网络调用">

当我注销并调用它时,我被重定向到登录视图


当我使用令牌发出 API 请求

我得到预期的结果"api调用">但是 当我没有向请求添加令牌时 我没有得到一个401左右,但我得到了一个带有"空"视图的200(使用 livewire,我看到它是登录视图,所以我认为惯性它也是登录视图)


这是什么原因?我必须自己处理吗?如果是,在哪里以及如何处理?

<小时 />

附加说明: 我使用 POSTMAN 发出了 API 请求,如果我不将标头设置为Accept: application/json,它会有所不同吗?

当请求包含该头时

Accept: application/json

然后身份验证中间件将知道该怎么做并决定

如果它会重定向它或

只需发回 401 响应即可。

最新更新