Skip to content

digit-soft/laravel-token-auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Token auth for Laravel 7+

Component uses Redis to store token information

Install

composer require "digit-soft/laravel-token-auth:~1.0"

Publish config

php artisan vendor:publish --provider="DigitSoft\LaravelTokenAuth\AuthServiceProvider" --tag=config

Configure guard

Change driver to token-cached in config/auth.php

    'guards' => [
        ...
        'api' => [
            'driver' => 'token-cached',
            'provider' => 'users',
        ],
        ...
    ],

Ships with multiple middleware

  • DigitSoft\LaravelTokenAuth\Middleware\DefaultAuthGuard - set default auth guard to given value
  • DigitSoft\LaravelTokenAuth\Middleware\DefaultSessionDriver - set default session driver to given value
  • DigitSoft\LaravelTokenAuth\Middleware\AddGeneratedTokenToResponse - adds token generated during request to response header Some middleware useful for PHP-PM driven applications.

Sessions

There is possibility to save session data to token, if you will use package session handler DigitSoft\LaravelTokenAuth\Session\TokenSessionHandler, driver name is token-cached. You can also set it with DefaultSessionDriver middleware. Often rewritable data such as previous page, flashes and _token are not stored.

Events

There is DigitSoft\LaravelTokenAuth\Events\AccessTokenCreated, which fired every time token is created by TokenCached facade. So you can write or check information in AccessToken with own event listener.

Customization

  • You can use your own AccessToken implementation by extending original class and set its name in config.
  • You can set your own header name for AddGeneratedTokenToResponse middleware in config.

You can find more options and description in config file.

About

Laravel stateless auth with cached tokens

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages