【问题标题】:How to make auth:sanctum work in web.php?如何使 auth:sanctum 在 web.php 中工作?
【发布时间】:2022-06-15 21:22:25
【问题描述】:

所以我的问题是我在我的 Laravel 项目中安装了 Sanctum,并试图在 web.php 中的网络路由上使用它。但是当我登录并尝试到达该位置时,该站点将我重定向回主页,我不知道为什么会发生这种情况。当我未登录时,该网站应将我重定向回来。

Route::get('/support', function () {
    return view('support');
})->middleware("auth:sanctum");

这是我在 web.php 文件中使用的代码。我认为中间件以某种方式无法获取登录后创建的用户 loginToken,但我不知道在哪里修复它。

【问题讨论】:

    标签: laravel laravel-8 laravel-sanctum


    【解决方案1】:

    你有没有为网络添加gurds,

    config/Sanctum.php

    /*
        |--------------------------------------------------------------------------
        | Sanctum Guards
        |--------------------------------------------------------------------------
     
        */
    
        'guard' => ['web','api'],
    

    【讨论】:

    • 显示错误:未定义身份验证保护 [api]
    • 没有 api 你得到什么错误你可以得到console.log?
    • 没有 api 它工作正常。但是当我登录时,它仍然会将我重定向到“/”页面。当我没有登录时,应用程序应该重定向我。
    【解决方案2】:

    在 auth.php 文件中,将保护从 web 更改为 sanctum,如下所示:

    'defaults' => [
        //'guard' => 'web',
        'guard' => 'sanctum',
        'passwords' => 'users',
    ],
    

    然后你可以在所有路由上应用 ->middleware("auth:sanctum")。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-25
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 2017-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多