Advertisement
Guest User

AuthController.php

a guest
Jun 4th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.49 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. use Illuminate\Http\Request;
  6. use App\Http\Requests\RegisterFormRequest;
  7. use App\User;
  8. use JWTAuth;
  9.  
  10. class AuthController extends Controller
  11. {
  12.     public function register(RegisterFormRequest $request)
  13.     {
  14.         $user = new User;
  15.         $user->email = $request->email;
  16.         $user->name = $request->name;
  17.         $user->password = bcrypt($request->password);
  18.         $user->save();
  19.  
  20.         return response()->json(['status' => 'success', 'data' => $user], 200);
  21.     }
  22.  
  23.     public function login(Request $request)
  24.     {
  25.         $credentials = $request->only(['email', 'password']);
  26.  
  27.         if (!$token = JWTAuth::attempt($credentials)) {
  28.  
  29.           return response()->json([
  30.               'status' => 'error',
  31.               'error' => 'invalid credentials',
  32.               'msg' => 'Invalid Credentials',
  33.           ], 401);
  34.         }
  35.  
  36.         return response()->json(['status' => 'success', 'token' => $token])->header('Authorization', "Bearer {$token}");
  37.     }
  38.  
  39.     public function user(Request $request)
  40.     {
  41.         $user = User::find($request->user()->id);
  42.  
  43.         return response()->json(['status' => 'success', 'data' => $user]);
  44.     }
  45.  
  46.     public function logout()
  47.     {
  48.         JWTAuth::invalidate();
  49.  
  50.         return response()->json(['status' => 'success', 'msg' => 'Logged out successfully'], 200);
  51.     }
  52.  
  53.     public function refresh()
  54.     {
  55.         return response()->json(['status' => 'success']);
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement