【问题标题】:Laravel 7, use auth guard onlyLaravel 7,仅使用身份验证保护
【发布时间】:2020-06-01 12:08:42
【问题描述】:
我正在使用 PHP Laravel 7,我正在开发一个我必须使用来自外部源的身份验证的项目,为注册和登录提供了 API。我只是想知道我是否可以使用 Laravel 的身份验证并使用我的自定义登录和注册,我可以使用身份验证保护来停止 URL 路由。
到目前为止,我已经创建了登录和注册页面,但还没有添加身份验证。
if (Auth::check()) {
// The user is logged in...
}
我想要这样的自定义登录。
【问题讨论】:
标签:
php
laravel
laravel-7
【解决方案1】:
您可以从您的 API 接收所有数据,然后手动创建用户并登录。
一个真实应用的例子
$user = User::firstOrCreate(['vk_id' => $data['user_id']]);
auth()->login($user, true); //true is to remember them
之后,您可以将任何数据添加到您想要的任何字段:
$user->position = 'ceo';
$user->save();
或者你想要的任何其他逻辑。
您可以将此逻辑添加到您的身份验证寄存器或登录控制器,或创建一个单独的。
实际上,内置的 Auth 控制器是同一个控制器,它们有自己的逻辑来处理数据库和会话。
但是使用->login()函数手动登录用户。