Advertisement
Guest User

AuthJWTController

a guest
Oct 6th, 2015
484
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.72 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. namespace App\Http\Controllers;
  6.  
  7. use App\User;
  8. use Illuminate\Http\Request;
  9. use Illuminate\Support\Facades\Hash;
  10. use JWTAuth;
  11. use Tymon\JWTAuth\Exceptions\JWTException;
  12. use Tymon\JWTAuth\Exceptions\TokenExpiredException;
  13. use Tymon\JWTAuth\Exceptions\TokenInvalidException;
  14.  
  15. class AuthenticateController extends Controller {
  16.     /**
  17.      * Display a listing of the resource.
  18.      *
  19.      * @return Response
  20.      */
  21.     public function index() {
  22.         //
  23.     }
  24.  
  25.     public function authenticate(Request $request) {
  26.         $credentials = $request->only('email', 'password');
  27.  
  28.         try {
  29.             if (!$token = JWTAuth::attempt($credentials)) {
  30.                 return response()->json(['error' => 'invalid_credentials'], 401);
  31.             }
  32.         } catch (JWTException $e) {
  33.             // something went wrong
  34.             return response()->json(['error' => 'could_not_create_token'], 500);
  35.         }
  36.  
  37.         // if no errors are encountered we can return a JWT
  38.         return response()->json(compact('token'));
  39.     }
  40.  
  41.     public function getAuthenticatedUser() {
  42.         try {
  43.  
  44.             if (!$user = JWTAuth::parseToken()->authenticate()) {
  45.                 return response()->json(['user_not_found'], 404);
  46.             }
  47.  
  48.         } catch (TokenExpiredException $e) {
  49.  
  50.             return response()->json(['token_expired'], $e->getStatusCode());
  51.  
  52.         } catch (TokenInvalidException $e) {
  53.  
  54.             return response()->json(['token_invalid'], $e->getStatusCode());
  55.  
  56.         } catch (JWTException $e) {
  57.  
  58.             return response()->json(['token_absent'], $e->getStatusCode());
  59.  
  60.         }
  61.  
  62.         return response()->json(compact('user'));
  63.     }
  64.  
  65.     public function register(Request $request) {
  66.         $newuser = $request->all();
  67.         $password = Hash::make($request->input('password'));
  68.         $newuser['password'] = $password;
  69.         return User::create($newuser);
  70.     }
  71.  
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement