所以我在寻找要寻找的东西时遇到了一个问题。因此,我习惯于以这种方式编写SPA和管理身份验证。但是我正在一个项目中,用户使用laravel会话登录名登录,然后我需要进行一个经过身份验证的API调用,然后才能从中检索用户对象。这可能并且安全吗?
谢谢!
答案 0 :(得分:1)
您正在创建API,即您正在使用前端框架。 Laravel默认登录使用会话进行身份验证,只能在服务器中访问。因此客户端即前端应用程序无法访问会话。在这种情况下,会话身份验证将无法正常工作。
您应该使用令牌认证而不是会话认证。 laravel中有护照包裹https://laravel.com/docs/5.8/passport。或使用可以使用JWT https://github.com/tymondesigns/jwt-auth。
使用会话Athentication,使用ajax,您可以像这样检索auth用户,
public function authInfo()
{
$user = Auth::user();
if($user)
{
$data = [
'name' => $user->name,
'email' => $user->email,
'status' => ($user->verified) ? 1 : 0,
];
return response()->json(["data" => $data, 'status' => "200"]);
}else{
return response()->json(["failed" => "failed", 'status' => "204"]);
}
}
并添加路线以使用此方法