From 46afda4622d70a727afdf1ad951ffe173584250f Mon Sep 17 00:00:00 2001 From: RundelhausCode Date: Tue, 9 Mar 2021 13:16:34 +0100 Subject: [PATCH] Token for groups --- Backend/Controllers/Group/Login.php | 23 +++++++++++++++++------ Backend/Controllers/Group/SigningUp.php | 3 ++- Backend/Controllers/Group/UpdateGruop.php | 17 +++++++++++++---- composer.json | 1 - composer.lock | 10 +++++----- 5 files changed, 37 insertions(+), 17 deletions(-) diff --git a/Backend/Controllers/Group/Login.php b/Backend/Controllers/Group/Login.php index b5feeb5..672cd53 100644 --- a/Backend/Controllers/Group/Login.php +++ b/Backend/Controllers/Group/Login.php @@ -4,6 +4,7 @@ require "../../../bootstrap.php"; use Backend\Models\Group; use Backend\Models\Password; +use Illuminate\Support\Str; //Start the php session session_start(); @@ -17,20 +18,30 @@ if(isset($_POST['login'])){ if($group){ $hashedPassword = $group->password->password; if(password_verify($password, $hashedPassword )){ - $_SESSION['groupName'] = $groupName; - $_SESSION['groupId'] = $group->id; - $_SESSION['success'] = "You are now logged in"; - header('location: ../Frontend/index.php?login=success'); + $token = Str::random(100); + $grouppassword = Password::firstWhere('group_id', $group->id); + $grouppassword->remember_token = $token; + if($grouppassword->save()){ + $_SESSION['groupName'] = $groupName; + $_SESSION['token'] = $token; + $_SESSION['success'] = "You are now logged in"; + header('location: ../../../Frontend/index.php?login=success'); + } + else{ + session_destroy(); + header('location: ../../../Frontend/index.php?login=failed&?reason=token'); + } + }else{ session_destroy(); - header('location: ../Frontend/index.php?login=failed?reason=password'); + header('location: ../../../Frontend/index.php?login=failed&?reason=password'); } } else{ session_destroy(); - header('location: ../Frontend/index.php?login=failed?reason=group'); + header('location: ../../../Frontend/index.php?login=failed&?reason=group'); } diff --git a/Backend/Controllers/Group/SigningUp.php b/Backend/Controllers/Group/SigningUp.php index 78be7e9..e33e527 100644 --- a/Backend/Controllers/Group/SigningUp.php +++ b/Backend/Controllers/Group/SigningUp.php @@ -5,6 +5,7 @@ require "../../../bootstrap.php"; use Backend\Models\Group; use Backend\Models\Password; use Backend\Models\GameJam; +use Illuminate\Support\Str; session_start(); @@ -33,7 +34,7 @@ if(isset($_POST['reg_group'])){ $password->password = password_hash($_POST['password'] ,PASSWORD_DEFAULT); - $token = OAuthProvider::generateToken(100); + $token = Str::random(100); $password->remember_token = $token; diff --git a/Backend/Controllers/Group/UpdateGruop.php b/Backend/Controllers/Group/UpdateGruop.php index 9726876..84e763a 100644 --- a/Backend/Controllers/Group/UpdateGruop.php +++ b/Backend/Controllers/Group/UpdateGruop.php @@ -2,14 +2,23 @@ require "../../../bootstrap.php"; use Backend\Models\Group; -use Backend\Models\Password; session_start(); -if(isset($_SESSION['groupId'])){ if (isset($_POST['updateGroup'])) { - $_POST['updateGroup'] + if($group = Group::find($_POST['groupId'])){ + if ($group->password->remember_token === $_SESSION['token']){ + $group->group_name = $_POST['group_name']; + $group->group_amount = $_POST['group_amount']; + $group->game_jam_id = $_POST['game_jam_id']; + $group->save(); + } + } + + + + } -} + diff --git a/composer.json b/composer.json index 7d694d4..ab3aec1 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,6 @@ { "require": { "illuminate/database": "^8.30", - "ext-oauth": "*" }, "autoload": { "classmap": [ diff --git a/composer.lock b/composer.lock index da1aef9..428ee73 100644 --- a/composer.lock +++ b/composer.lock @@ -438,16 +438,16 @@ }, { "name": "nesbot/carbon", - "version": "2.45.1", + "version": "2.46.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "528783b188bdb853eb21239b1722831e0f000a8d" + "reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/528783b188bdb853eb21239b1722831e0f000a8d", - "reference": "528783b188bdb853eb21239b1722831e0f000a8d", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4", + "reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4", "shasum": "" }, "require": { @@ -527,7 +527,7 @@ "type": "tidelift" } ], - "time": "2021-02-11T18:30:17+00:00" + "time": "2021-02-24T17:30:44+00:00" }, { "name": "psr/container",