-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Setup jwt-auth library as per documentation
- Loading branch information
Peter Plucinski
committed
Feb 1, 2018
1 parent
8a7b3c1
commit 2e107e5
Showing
4 changed files
with
122 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
<?php | ||
|
||
namespace App\Http\Controllers; | ||
|
||
use Illuminate\Http\Request; | ||
use Illuminate\Support\Facades\Auth; | ||
use App\Http\Controllers\Controller; | ||
|
||
class AuthController extends Controller | ||
{ | ||
/** | ||
* Create a new AuthController instance. | ||
* | ||
* @return void | ||
*/ | ||
public function __construct() | ||
{ | ||
$this->middleware('auth:api', ['except' => ['login']]); | ||
} | ||
|
||
/** | ||
* Get a JWT via given credentials. | ||
* | ||
* @return \Illuminate\Http\JsonResponse | ||
*/ | ||
public function login() | ||
{ | ||
$credentials = request(['email', 'password']); | ||
|
||
if (! $token = auth()->attempt($credentials)) { | ||
return response()->json(['error' => 'Unauthorized'], 401); | ||
} | ||
|
||
return $this->respondWithToken($token); | ||
} | ||
|
||
/** | ||
* Get the authenticated User. | ||
* | ||
* @return \Illuminate\Http\JsonResponse | ||
*/ | ||
public function me() | ||
{ | ||
return response()->json(auth()->user()); | ||
} | ||
|
||
/** | ||
* Log the user out (Invalidate the token). | ||
* | ||
* @return \Illuminate\Http\JsonResponse | ||
*/ | ||
public function logout() | ||
{ | ||
auth()->logout(); | ||
|
||
return response()->json(['message' => 'Successfully logged out']); | ||
} | ||
|
||
/** | ||
* Refresh a token. | ||
* | ||
* @return \Illuminate\Http\JsonResponse | ||
*/ | ||
public function refresh() | ||
{ | ||
return $this->respondWithToken(auth()->refresh()); | ||
} | ||
|
||
/** | ||
* Get the token array structure. | ||
* | ||
* @param string $token | ||
* | ||
* @return \Illuminate\Http\JsonResponse | ||
*/ | ||
protected function respondWithToken($token) | ||
{ | ||
return response()->json([ | ||
'access_token' => $token, | ||
'token_type' => 'bearer', | ||
'expires_in' => auth()->factory()->getTTL() * 60 | ||
]); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters