如何在Laravel中授权用户

时间:2018-10-15 11:40:01

标签: laravel authentication refactoring

我们有auth微服务和基于laravel的管理面板。我们通过调用auth api并返回用户ID和令牌来登录用户。如何使用户成为laravel 5.3中的授权用户?我没有发现任何信息。

$request = Request();

$authorize = new Authorize();
$response = $authorize->logIn($request->all());

if ($response->status == 'success') {
    $user = new User();
    $userResponse = $user->getUser($response->data->id);
    Session::put('userId', $response->data->id);
    Session::put('userToken', $response->data->token);
    Session::put('userData', $userResponse);

    if ($request->input('save_login')) {
        Cookie::queue(Cookie::make('savedLogin', $request->input('login'), 129600, null, null, false, false));
    } else {
         Cookie::queue(Cookie::forget('savedLogin'));
    }

    return redirect('/');
}

1 个答案:

答案 0 :(得分:1)

您可以使用user或用户实例手动登录id

来自docs

验证用户实例

  

如果您需要将现有用户实例登录到您的应用程序中,   您可以使用用户实例调用login方法。给定的对象   必须是   照亮\ Contracts \ Auth \ Authenticable合同。当然,   Laravel随附的App \ User模型已经实现了   界面:

Auth::login($user);

// Login and "remember" the given user...
Auth::login($user, true);

通过ID验证用户身份

  

要将用户按其ID登录到应用程序中,可以使用   loginUsingId方法。此方法接受用户的主键   您希望进行身份验证:

Auth::loginUsingId(1);

// Login and "remember" the given user...
Auth::loginUsingId(1, true);