iget-master/token-auth

A simple token based authentication guard for Laravel 5.4
696 10
Install
composer require iget-master/token-auth
Latest Version:v2.0.0
PHP:>=5.6.0
Laravel:5
Last Updated:Feb 22, 2017
Links: GitHub  ·  Packagist
Maintainer: iget-master

Laravel 5.2 - Token-based Guard

Using this guard, you can login your user like the default Laravel session guard, but the authorization will be persisted using a token passed through Authorization HTTP Header.

Installation

  1. Require iget-master/token-auth on composer
  2. Add the IgetMaster\TokenAuth\TokenAuthServiceProvider::class services provider on app.php configuration file.
  3. Change your guard driver to iget-token on auth.php

Usage

As on Laravel's default session guard, you must use Auth::attempt using the user credentials to try to login. If successful, you can use Auth::getToken() to get the 16 characters random Authorization Token.

On subsequent requests, the user should pass a Authorization http header with this token. If the token is valid, the user will be authenticated and you will be able to get current user using Auth::user().

If you are using the Laravel's default AuthController, you must update it, since you should send to the user the Authorization Token. Here is an example of AuthController@getLogin method:

/**
 * @param \Request $request
 * @return \Illuminate\Http\JsonResponse
 */
public function getLogin(Request $request)
{
	$success = false;

	if (Auth::attempt($request->only(['email', 'password']))) {
		$success = true;
		$token = Auth::getToken();
		$user_id = Auth::user()->id;
	}

	return response()->json(compact('success', 'token', 'user_id'));
}

Remember to include the Request class at top of your controller class:

use Illuminate\Http\Request;

You should change session.lifetime configuration to change the token's lifetime.

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

644,549,754 9,698
laravel/framework

The Laravel Framework.

598,760,099 34,966
laravel/tinker

Powerful REPL for the Laravel framework.

507,193,856 7,441
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

423,477,751 607
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

399,241,428 4,660

Version History

Version Released PHP Laravel License
v2.0.0 >=5.6.0 5.4.*
v1.1.2 >=5.6.0 5.2.*
v1.1.1 >=5.6.0 5.2.*
v1.1.0 >=5.6.0 5.2.*
v1.0.0 >=5.6.0 5.2.*