来自laravel会话登录的经过身份验证的api调用。可能吗?

时间:2019-06-10 15:14:28

标签: ajax laravel api authentication

所以我在寻找要寻找的东西时遇到了一个问题。因此,我习惯于以这种方式编写SPA和管理身份验证。但是我正在一个项目中,用户使用laravel会话登录名登录,然后我需要进行一个经过身份验证的API调用,然后才能从中检索用户对象。这可能并且安全吗?

谢谢!

1 个答案:

答案 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"]);
        }
    }

并添加路线以使用此方法

相关问题