是否可以在用户不在数据库中的情况下在Laravel 7中登录用户?我有一组用户,我不希望他们出现在我的数据库中,因为他们使用外部API进行登录,并且我可以从该API获取详细信息(通过XML)。
有3种类型的用户:
所有用户都使用外部API进行登录。但是,出于组织目的,我仅在数据库中注册前两个。
我的意图是使用API中的第三种用户详细信息来使用Laravel登录,而无需接触我的数据库。
我在LoginController.php上的代码
$user_array = json_decode(file_get_contents($this->api_url . '?type=json&token=' . $request->cookie($this->cookie_name)));
if ($user_array->result)
{
$u = NULL;
if ($user = User::find($user_array->vid)) $u = $user;
else if($user_array->division == 'AR' || !is_null(Gca::find($user_array->vid)))
{
$u = new User();
if(! is_null(Gca::find($user_array->vid))) $u->gca = 1;
$u->name = $user_array->firstname;
$u->vid = $user_array->vid;
$vid = $u->vid;
$u->save();
return view('register', compact('vid'));
}
else
{
$user = new User();
$user->division = $user_array->division;
$user->vid = $user_array->vid;
$user->name = $user_array->firstname;
$user->surname = $user_array->lastname;
Auth::login($user); //This doesn't seem to work.
return redirect('/');
}
}
谢谢。