diff --git a/web/app/Http/Controllers/Auth/RegisterController.php b/web/app/Http/Controllers/Auth/RegisterController.php index 3a31f78..d755756 100644 --- a/web/app/Http/Controllers/Auth/RegisterController.php +++ b/web/app/Http/Controllers/Auth/RegisterController.php @@ -100,7 +100,7 @@ class RegisterController extends Controller Auth::login($user); - setcookie('gtok', $sc, time()+(345600*30), "/"); + setcookie('gtok', $sc, time()+(345600*30), "/", $_POST['host']); return Response()->json('good'); diff --git a/web/app/Http/Controllers/Controller.php b/web/app/Http/Controllers/Controller.php index 9a36c08..8b067b8 100644 --- a/web/app/Http/Controllers/Controller.php +++ b/web/app/Http/Controllers/Controller.php @@ -31,9 +31,25 @@ class Controller extends BaseController $array = $user->toArray(); + return Response()->json(["data"=>$array]); + } + + public function logout(Request $request) { + + $POST; + + if (!isset($_POST['token'])) {return Response()->json(false);} + + $POST = $_POST['token']; + + $user = User::where('token', $POST)->first(); + if (!$user) {return Response()->json(false);} - return Response()->json(["data"=>$array]); + setcookie('gtok', null, time()+(345600*30), "/", $_POST['host']); + + return Response()->json('good'); + } public function login(Request $request) { @@ -63,7 +79,7 @@ class Controller extends BaseController Request::session()->regenerate(); - setcookie('gtok', $user->token, time()+(345600*30), "/"); + setcookie('gtok', $user->token, time()+(345600*30), "/", $_POST['host']); Auth::login($user); diff --git a/web/resources/js/helpers/Auth.js b/web/resources/js/helpers/Auth.js index 4eaa830..eac179e 100644 --- a/web/resources/js/helpers/Auth.js +++ b/web/resources/js/helpers/Auth.js @@ -13,6 +13,7 @@ export function CreateAccount(form) { const body = form; + body.append('host', url); var badInputs = []; return new Promise(async (resolve, reject)=>{ @@ -21,7 +22,9 @@ export function CreateAccount(form) if (res.badInputs.length >= 1) { badInputs=res.badInputs; resolve({message: res.message, inputs: res.badInputs}); + return; } + window.location.replace(`/`); resolve("good"); }).catch(error=>{console.log(error);}); @@ -31,6 +34,7 @@ export function CreateAccount(form) export function LoginToAccount(form) { const body = form; + body.append('host', url); var badInputs = []; return new Promise(async (resolve, reject)=>{ @@ -40,7 +44,9 @@ export function LoginToAccount(form) { if (res.badInputs.length >= 1) { badInputs=res.badInputs; resolve({message: res.message, inputs: res.badInputs}); + return; } + window.location.replace(`/`); resolve("good"); }).catch(error=>{console.log(error);}); diff --git a/web/resources/js/pages/Auth/Login.js b/web/resources/js/pages/Auth/Login.js index 8e03cd5..5bc7022 100644 --- a/web/resources/js/pages/Auth/Login.js +++ b/web/resources/js/pages/Auth/Login.js @@ -21,10 +21,9 @@ const LoginForm = (props) => { if (res != `good`) { setValidity({error: true, message:res.message, inputs: res.inputs}); setTimeout(()=>{setValidity({...validity, error: false, inputs: res.inputs});}, 4000); - }else{ - window.history.pushState(`/home`); return; } + window.location.replace(`/home`); }).catch(error=>console.log(error)); setWaitingForSubmission(false); } diff --git a/web/resources/js/pages/Auth/Register.js b/web/resources/js/pages/Auth/Register.js index 2b4cb48..185783f 100644 --- a/web/resources/js/pages/Auth/Register.js +++ b/web/resources/js/pages/Auth/Register.js @@ -45,10 +45,8 @@ const RegisterForm = (props) => { if (res != `good`) { setValidity({error: true, message:res.message, inputs: res.inputs}); setTimeout(()=>{setValidity({...validity, error: false, inputs: res.inputs});}, 4000); - }else{ - window.history.pushState(`/home`); - return; } + window.location.replace(`/home`); }).catch(error=>console.log(error)); setWaitingForSubmission(false); } diff --git a/web/routes/apis.php b/web/routes/apis.php index 170555f..b51446c 100644 --- a/web/routes/apis.php +++ b/web/routes/apis.php @@ -35,6 +35,8 @@ Route::post('/account/register', 'Auth\RegisterController@create'); Route::post('/account/login', 'Controller@login'); +Route::post('/account/logout', 'Controller@logout'); + Route::fallback(function(){ return response('{"errors":[{"code":404,"message":"NotFound"}]}', 404) ->header('Cache-Control', 'private')