同時ログイン機能(BE)
このコミットが含まれているのは:
コミット
cd20baa188
|
@ -19,7 +19,7 @@ BROADCAST_DRIVER=log
|
|||
CACHE_DRIVER=file
|
||||
QUEUE_CONNECTION=sync
|
||||
SESSION_DRIVER=file
|
||||
SESSION_LIFETIME=120
|
||||
SESSION_LIFETIME=150
|
||||
|
||||
MEMCACHED_HOST=127.0.0.1
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ BROADCAST_DRIVER=log
|
|||
CACHE_DRIVER=file
|
||||
QUEUE_CONNECTION=sync
|
||||
SESSION_DRIVER=file
|
||||
SESSION_LIFETIME=120
|
||||
SESSION_LIFETIME=150
|
||||
|
||||
MEMCACHED_HOST=127.0.0.1
|
||||
|
||||
|
|
|
@ -10,11 +10,9 @@ use Illuminate\Support\Facades\Log;
|
|||
|
||||
use App\Models\LoginLimits;
|
||||
|
||||
// use App\Models\LoginLimits;
|
||||
|
||||
trait AuthenticationTrait {
|
||||
private function makeSession ($guard, $db) {
|
||||
session()->regenerate();
|
||||
//session()->regenerate();
|
||||
|
||||
if (!session()->has($guard)) {
|
||||
// 認証されたデータのpasswordとremember_token以外を把握する
|
||||
|
@ -36,6 +34,15 @@ trait AuthenticationTrait {
|
|||
return ['status_code' => 200, 'params' => ['id' => $login_user_datum['id']]];
|
||||
}
|
||||
}
|
||||
if (session()->has($this->getGuard())) {
|
||||
if (null !== ($get = $this->getModel()->where('id', session()->get($this->getGuard())['id'])->first())) { // トークンがある場合
|
||||
// セッションを想像する
|
||||
$login_user_datum = $this->makeSession($this->getGuard(), $get->toArray());
|
||||
|
||||
return ['status_code' => 200, 'params' => ['id' => $login_user_datum['id']]];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return ['status_code' => 202];
|
||||
}
|
||||
|
@ -98,11 +105,11 @@ trait AuthenticationTrait {
|
|||
}
|
||||
|
||||
// 既にセッションがあれば、ログアウトします。
|
||||
if (Session::has('children')) Session::forget('children');
|
||||
if (Session::has('fathers')) Session::forget('fathers');
|
||||
if (Session::has('admins')) Session::forget('admins');
|
||||
unset($_COOKIE['remember_token']);
|
||||
setcookie('remember_token', '', time() - 3600, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
//if (Session::has('children')) Session::forget('children');
|
||||
//if (Session::has('fathers')) Session::forget('fathers');
|
||||
//if (Session::has('admins')) Session::forget('admins');
|
||||
//unset($_COOKIE['remember_token']);
|
||||
//setcookie('remember_token', '', time() - 3600, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
|
||||
if ($r->remember_token == 'true') {
|
||||
$token = bin2hex(random_bytes(24));
|
||||
|
|
|
@ -31,7 +31,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'lifetime' => env('SESSION_LIFETIME', 120),
|
||||
'lifetime' => env('SESSION_LIFETIME', 150),
|
||||
|
||||
'expire_on_close' => true,
|
||||
|
||||
|
|
新しいイシューから参照