Laravel package to generate authentication headers for Modulr Finance
PHP 8.0+ and Composer are required.
To get the latest version of Laravel Modulr Auth, simply require it
composer require oluwatobiakanji/laravel-modulr-authOr add the following line to the require block of your composer.json file.
"oluwatobiakanji/laravel-modulr-auth": "^1.0.0"
You'll then need to run composer install or composer update to download it and have the autoloader updated.
By default, the ModulrAuthServiceProvider service provider will get registered automatically in config/app.php. However, to manually register the serivce provider, add the following to the providers key.
'providers' => [
...
OluwatobiAkanji\ModulrAuth\ModulrAuthServiceProvider::class,
...
]Also, register the Facade as:
'aliases' => [
...
'AuthHeader' => OluwatobiAkanji\ModulrAuth\Facades\AuthHeader::class,
...
]The Laravel modulr auth package comes with a configuration file for the API key and secret provided by Modulr Finance. Also, the base URL and routes for accessing Modulr Finance (either sandbox or live) can be configured here.
Publish Configuration as
php artisan vendor:publish --tag=modulr-configA configuration-file named modulr.php will be placed in theconfig directory:
<?php
return [
/**
* API key From Modulr
*
*/
'key' => env('MODULR_API_KEY'),
/**
* API secret From Modulr
*
*/
'secret' => env('MODULR_API_SECRET'),
/**
* Modulr API base url
*
*/
'base_url' => env('MODULR_BASE_URL', 'https://api-sandbox.modulrfinance.com'),
/**
* Modulr live base route
*
*/
'live_base_route' => env('MODULR_LIVE_BASE_ROUTE'),
/**
* Modulr sandbox base route
*
*/
'local_base_route' => env('MODULR_LOCAL_BASE_ROUTE', '/api-sandbox'),
];Add the following environment variables to the .env file of the project
MODULR_API_KEY=key_supplied_by_modulr_finance
MODULR_API_SECRET=secret_supplied_by_modulr_finance
MODULR_APP_BASE_URL=https://api-sandbox.modulrfinance.com
MODULR_LIVE_BASE_ROUTE=live_base_route_supplied_by_modulr_finance
MODULR_LOCAL_BASE_ROUTE=local_base_route_supplied_by_modulr_finance_sandboxThe AuthHeader is to be accessed via the facade OluwatobiAkanji\ModulrAuth\Facades\AuthHeader.
In a class, import the facade as:
use OluwatobiAkanji\ModulrAuth\Facades\AuthHeader
Then use the facade to access these methods:
getHeadersasAuthHeader::getHeaders()orAuthHeader::getHeaders("nonce_value", "timestamp_value")setNonceasAuthHeader::setNonce("nonce_value")setTimestampasAuthHeader::setTimestamp("timestamp_value")
Please feel free to fork this package and contribute by submitting a pull request to enhance the functionalities.
Why not star the github repo? I'd love the attention! Why not share the link for this repository on Twitter or HackerNews? Spread the word!
Thanks! Oluwatobi Akanji.
The MIT License (MIT). Please see License File for more information