ngabor84 / laravel-escher-auth
Escher authentication middleware for the Laravel and Lumen framework
Requires
- php: ^8.4
- emartech/escher: ^4.0
- firebase/php-jwt: ^7.0
- illuminate/support: ^11.0 || ^13.0
- symfony/http-foundation: ^7.0 || ^8.0
- symfony/http-kernel: ^7.0 || ^8.0
Requires (Dev)
- laravel/framework: ^11.0
- laravel/lumen-framework: ^11.0
- orchestra/testbench: ^9.5
- phpunit/phpunit: ^12.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Escher Auth Middleware
Escher authentication middleware for the Laravel and Lumen framework.
About
This package allows you to authenticate the incoming requests with Escher authentication.
Installation
Require the ngabor84/laravel-escher-auth package in your composer.json and update your dependencies:
composer require ngabor84/laravel-escher-auth
Usage with Laravel
Add the service provider to the providers array in the config/app.php config file as follows:
'providers' => [ ... \Middleware\Auth\Escher\Providers\LaravelServiceProvider::class, ]
Run the following command to publish the package config file:
php artisan vendor:publish --provider="Middleware\Auth\Escher\Providers\LaravelServiceProvider"
You should now have a config/escher.php file that allows you to configure the basics of this package.
Usage with Lumen
Add the following snippet to the bootstrap/app.php file under the providers section as follows:
$app->register(\Middleware\Auth\Escher\Providers\LumenServiceProvider::class); ... $app->configure('escher');
Create a config directory (if it's not exist), and create an escher.php in it with the plugin configuration like this:
return [ 'hashAlgo' => 'SHA256', 'algoPrefix' => 'EMS', 'vendorKey' => 'EMS', 'authHeaderKey' => 'X-EMS-Auth', 'dateHeaderKey' => 'X-EMS-Date', 'clockSkew' => '300', 'credentialScope' => env('ESCHER_CREDENTIAL_SCOPE'), 'keyDB' => env('ESCHER_KEY_DB'), ];