我正在使用PHP Laravel 7,正在开发一个项目,必须使用外部来源的身份验证,并提供了用于注册和登录的API。我只想知道我是否可以使用Laravel身份验证并使用我的自定义登录名和注册身份,并且可以使用身份验证防护来停止URL路由。
到目前为止,我已经创建了用于登录和注册的页面,但是还没有添加身份验证。
if (Auth::check()) {
// The user is logged in...
}
我想要这样的东西用于自定义登录。
答案 0 :(得分:0)
您可以从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()
功能手动登录用户。