Escher authentication middleware for the Laravel and Lumen framework.
This package allows you to authenticate the incoming requests with Escher authentication.
Require the ngabor84/laravel-escher-auth package in your composer.json and update your dependencies:
composer require ngabor84/laravel-escher-auth
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.
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'),
];