我们有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('/');
}
答案 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);