Laravel简单的自定义授权,无需令牌或数据库

时间:2017-11-22 20:02:52

标签: php laravel laravel-authorization

对我来说,最简单的方法是为此方案进行自定义身份验证

  1. 我有登录表格
  2. 提交后我正在向自定义API发送axios请求(没有令牌)
  3. 如果用户存在,axios响应将包含用户名,名字,姓氏和uuid

  4. 现在如何处理并将该用户授权给Laravel?

  5. 我想使用方法Auth :: attempt(),Auth :: user()和其他Laravel的功能来轻松访问会话数据,但不知道如何存储它

    编辑说明:我没有使用laravel(或任何其他)数据库

1 个答案:

答案 0 :(得分:0)

您可以将您的用户(在axio响应之后)注册到Laravel,然后记录此用户。

从此页面:Manually register a user in Laravel,创建用户:

$user = new App\User();
$user->password = Hash::make( str_random(12) );
$user->email = $responseAxiosEmail;
$user->username = $responseAxiosUsername;
// need to add this field in your DB to store uuid and test if user already exists
$user->uuid = $rseponseAxioUuid;
$user->save();

然后你使用Auth :: login():

Auth::login($user);

如果您的用户已存在,您可以通过uuid找到它并使用:

Auth::loginUsingId($user->id);

更多信息:https://laravel.com/docs/5.5/authentication#other-authentication-methods