From 3cc45767438d930d88e73c83715ac19d993ac8fc Mon Sep 17 00:00:00 2001 From: Kevin ANATOLE Date: Sun, 26 Apr 2020 23:32:10 +0100 Subject: [PATCH] exercise_tracker_api-1 User Authentication --- app/Http/Controllers/UserController.php | 44 +++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 app/Http/Controllers/UserController.php diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php new file mode 100644 index 0000000..a260089 --- /dev/null +++ b/app/Http/Controllers/UserController.php @@ -0,0 +1,44 @@ +all(), [ + 'username' => 'required|string|min:3|max:255|unique:users', + 'email' => 'required|string|email|max:255|unique:users', + 'password' => 'required|string|min:8|confirmed', + ]); + + if ($validator->fails()) { + return response()->json($validator->errors()->toArray(), 400); + } + + $user = User::create([ + 'username' => $request->get('username'), + 'email' => $request->get('email'), + 'password' => Hash::make($request->get('password')), + ]); + + return response()->json($user,201); + } + + public function login(Request $request): JsonResponse { + $credentials = $request->only('email', 'password'); + + if (! Auth::attempt($credentials)) { + return response()->json(['error' => 'invalid_credentials'], 400); + } + + return response()->json('yes'); + } +}