我有一个api,需要在控制器中获取用户信息
这个api需要在登录 或者 不登录的情况下都能访问
如果我不加上 auth:sanctum 中间件则无法通过Auth::check()来验证用户是否登录
没有加上中间件 auth:sanctum , Auth::check() 方法始终返回的是false
我想在控制器中来验证用户信息而不是在中间件中验证直接返回401
望大佬解答
去掉中间件,然后在控制器里面写。
$auth = \Illuminate\Support\Facades\Auth::guard('sanctum');
现在你就可以用这个 $auth->check()
和 $auth->user()
来获取用户信息了。
header token 可以获取到的话,可以通过 token 解析
你可以使用 Laravel 的中间件链来解决这个问题。通过在中间件链中同时包含 auth:sanctum
和 auth:api
,你可以实现在登录或未登录的情况下都能访问你的 API。
具体步骤如下:
auth:sanctum
和 auth:api
。打开 App\Http\Kernel
类,找到 $routeMiddleware
数组,然后添加以下两行:'auth.sanctum' => \Laravel\Sanctum\Http\Middleware\CheckFor認可token::class,'auth.api' => \Laravel\Sanctum\Http\Middleware\CheckFor認可token::class,
middleware
方法来应用这两个中间件。例如:Route::middleware(['auth.sanctum', 'auth.api'])->group(function () { // 在这里定义你的 API 路由});
这样,当你的路由被访问时,会先通过 auth.sanctum
和 auth.api
中间件的验证。
如果你想在控制器中获取用户信息,你可以使用 auth
方法。例如:
if (Auth::check()) { $user = Auth::user(); // 这里可以处理用户信息}
这样,无论用户是否已经登录,Auth::check()
都会返回正确的结果。而如果用户已经登录,Auth::user()
就会返回用户模型实例。
我试图设置cookie来定义用户首选的语言。我通过一个指向助手控制器的链接做到了这一点: /设置区域设置/{locale} 我知道这是正确的,因为如果我这样做: 它显示所选择的正确区域设置。所以下一步是使用中间件实际应用这个选择的语言环境,我把它命名为“设置语言环境”: 但如果我执行 在中间件中,它读取所有加扰的cookie。所以我的问题是为什么它会这样做,我如何从这里正确地读取cookie?
我正在尝试使用< code>Auth::user()- 我已经检查并包含了所需的文件,我正在从用户表中获取用户 我在调用变量并将其发布到控制器函数中的DB时遇到问题。任何帮助都可以。 将User表中的User发布到Tokens表的中,以便我可以使用模型 出现此错误: SQLSTATE[23000]:完整性约束冲突:19非空约束失败:令牌。user_id(SQL:插入“令牌”(“token1”、“t
请检查下面的代码,我用api写的。laravel 5.6中routes文件夹内的php页面当我运行此路由时,它不会返回控制器中的身份验证用户id,并将我重定向到主页。我已经通过php artisan make:auth创建了登录名
问题内容: 我希望能够使用CURL读取SSL证书信息。从Linux控制台,我得到以下响应头: 但是使用CURL时,标头要短得多: 是否有可能获取这些信息,带有CURL或带有其他一些PHP函数的完整标头? 问题答案: 否。 编辑 :一个选项已添加到PHP 5.3.2。见http://bugs.php.net/49253 显然,该信息是由您的代理在响应标头中提供的。如果你想依靠这一点,你可以用卷曲的选
我已经创建了一个新的中间件名称Adminpanel 和注册中间件 和路线 }); 但当我运行时,它要求我尝试获取非对象的属性,这意味着我不能在这里访问Auth类,有人能告诉我错误是什么以及如何在中间件中访问Auth Facade吗。 这是我的身份验证码 谢谢
我正在从NVP/SOAP PayPal API集成转向更新的REST API。 我以前的网站代码使用的是“快速结帐”流程。 网站发起付款,用户被重定向到贝宝; 用户登录并确认发起的支付; 用户被重定向到该网站,该网站调用PayPal以获得用户个人信息以保存在交易记录中(例如姓名、地址、...); 我的意思是,在onAuthorize回调方法中,我确实有用户授权支付的paymentID和payerI