From 9305ad46db5918555b1164b71cb3b64cdc9dca9b Mon Sep 17 00:00:00 2001 From: Arpit Singla Date: Fri, 27 Oct 2017 22:59:57 +0530 Subject: [PATCH] Bugfixes --- src/App/Http/Controllers/UserController.php | 16 ++++++++++++---- src/App/Http/Middleware/FalconAuthenticate.php | 4 ++-- src/App/Http/routes.php | 2 +- src/QuarkServiceProvider.php | 3 ++- src/config/auth.php | 1 + 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/App/Http/Controllers/UserController.php b/src/App/Http/Controllers/UserController.php index 2075622..9319a53 100644 --- a/src/App/Http/Controllers/UserController.php +++ b/src/App/Http/Controllers/UserController.php @@ -3,7 +3,6 @@ namespace SDSLabs\Quark\App\Http\Controllers; use SDSLabs\Quark\App\Models\User; -use SDSLabs\Quark\App\Models\Role; use App\Http\Controllers\Controller; use Illuminate\Http\Request; @@ -18,7 +17,7 @@ public function __construct(User $users) { $this->users = $users; $this->middleware('auth')->except(['index', 'show', 'store']); - $this->middleware('falcon_auth')->only('store', 'showFalconMe'); + $this->middleware('falcon_auth')->only(['store', 'showFalconMe']); } /** @@ -39,15 +38,24 @@ public function index() * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ - public function store() + public function store(Request $request) { + if (!is_null(Auth::user())) { + abort(409, "Already logged in."); + } + $this->validate($request, [ 'username' => 'bail|required|alpha_dash|between:3,30|unique:users,username', 'fullname' => 'bail|required|regex:/^[\pL\s\-]+$/u|between:3,30', 'image' => 'bail|mimes:jpeg,jpg,png,gif|max:5120', ]); - $user = App::make(User::class, [$request->all()]); + // No idea why it doesn't work! + // $user = App::make(User::class, [$request->all()]); + + $user = App::make(User::class); + $user->username = $request->username; + $user->fullname = $request->fullname; $user->user_id = Auth::falconUser()['id']; $user->email = Auth::falconUser()['email']; $user->provider = 'falcon'; diff --git a/src/App/Http/Middleware/FalconAuthenticate.php b/src/App/Http/Middleware/FalconAuthenticate.php index 3932ec3..56cf6e8 100644 --- a/src/App/Http/Middleware/FalconAuthenticate.php +++ b/src/App/Http/Middleware/FalconAuthenticate.php @@ -36,8 +36,8 @@ public function __construct(Auth $auth) */ public function handle($request, Closure $next, $guard = 'falcon') { - if (is_null($this->auth->guard($guard)->falconUser())) { - abort(401, "Authentication required"); + if ($this->auth->guard($guard)->falconUser() === false) { + abort(401, "Falcon Authentication required"); } return $next($request); diff --git a/src/App/Http/routes.php b/src/App/Http/routes.php index 3f186ee..8ff3dff 100644 --- a/src/App/Http/routes.php +++ b/src/App/Http/routes.php @@ -30,7 +30,7 @@ Route::get('users/me/falcon', 'UserController@showFalconMe')->name('users.me.falcon.show'); // User routes -Route::resource('users', 'UserController', ['except' => ['destroy', 'create', 'store']]); +Route::resource('users', 'UserController', ['except' => ['destroy', 'create']]); // Invite routes Route::post('competitions/{competition}/teams/{team}/invite/{user}', 'CompetitionInvitesController@inviteUser')->name('invites.send'); diff --git a/src/QuarkServiceProvider.php b/src/QuarkServiceProvider.php index 28c9766..551a676 100644 --- a/src/QuarkServiceProvider.php +++ b/src/QuarkServiceProvider.php @@ -4,6 +4,7 @@ use SDSLabs\Quark\App\Auth\FalconGuard; use SDSLabs\Quark\App\Http\Middleware\Authenticate; +use SDSLabs\Quark\App\Http\Middleware\FalconAuthenticate; use SDSLabs\Quark\App\Http\Middleware\SubstituteBindings; use SDSLabs\Quark\App\Http\Middleware\Developer; @@ -37,7 +38,7 @@ public function setupRoutes(Router $router) $router->prependMiddlewareToGroup('web',SubstituteBindings::class); $router->middleWare('auth', Authenticate::class); - $router->middleWare('falcon_auth', Authenticate::class); + $router->middleWare('falcon_auth', FalconAuthenticate::class); $router->middleWare('developer', Developer::class); $router->middleWare('developer_check', DeveloperCheck::class); $router->group([ diff --git a/src/config/auth.php b/src/config/auth.php index a78e956..9b5744f 100644 --- a/src/config/auth.php +++ b/src/config/auth.php @@ -95,6 +95,7 @@ "client_id" => env('FALCON_CLIENT_ID'), "client_secret" => env('FALCON_CLIENT_SECRET'), "url_authorize" => "", + "redirect_uri" => "", "url_access_token" => env('FALCON_URL_ACCESS_TOKEN'), "url_resource_owner_details" => env('FALCON_URL_RESOURCE_ONWER_DETAILS'), "accounts_url" => env('FALCON_ACCOUNTS_URL'),