Advertisement
asimryu

AuthController.php

May 5th, 2021 (edited)
774
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.42 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers\API;
  4.  
  5. use App\Http\Controllers\Controller;
  6. use Illuminate\Http\Request;
  7. use App\Models\User;
  8. use Illuminate\Support\Facades\Hash;
  9.  
  10. class AuthController extends Controller
  11. {
  12.     public function register(Request $request)
  13.     {
  14.         try {
  15.             $validatedData = $request->validate([
  16.                 'name' => 'required|max:55',
  17.                 'email' => 'email|required|unique:users',
  18.                 'password' => 'required|confirmed'
  19.             ]);
  20.         } catch (\Illuminate\Validation\ValidationException $e) {
  21.             return response(['user' => '', 'access_token' => ''], 400);
  22.         }
  23.  
  24.  
  25.         $validatedData['password'] = Hash::make($request->password);
  26.  
  27.         $user = User::create($validatedData);
  28.  
  29.         $accessToken = $user->createToken('authToken')->accessToken;
  30.  
  31.         return response(['user' => $user, 'access_token' => $accessToken], 201);
  32.     }
  33.  
  34.     public function login(Request $request)
  35.     {
  36.         $loginData = $request->validate([
  37.             'email' => 'email|required',
  38.             'password' => 'required'
  39.         ]);
  40.  
  41.         if (!auth()->attempt($loginData)) {
  42.             return response(['message' => 'This User does not exist, check your details'], 400);
  43.         }
  44.  
  45.         $accessToken = auth()->user()->createToken('authToken')->accessToken;
  46.  
  47.         return response(['user' => auth()->user(), 'access_token' => $accessToken]);
  48.     }
  49. }
  50.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement