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