Download the PHP package bytesfield/key-manager without Composer
On this page you can find all versions of the php package bytesfield/key-manager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download bytesfield/key-manager
More information about bytesfield/key-manager
Files in bytesfield/key-manager
Package key-manager
Short Description Api Key Management for generating public and private key pairs storing and retrieving the master encryption key.
License MIT
Homepage https://github.com/bytesfield/key-manager
Informations about the package key-manager
Key Manager
Key Manager is a Laravel Package for generating public and private key pairs storing, retrieving and authenticating requests using the private key value.
Installation
PHP 7.4+ and Composer are required.
To get the latest version of Key Manager, simply require it
Or add the following line to the require block of your composer.json file.
You'll then need to run composer install or composer update to download it and have the autoloader updated.
Once KeyManager is installed, you need to register the service provider. Open up config/app.php and add the following to the providers key.
If you use Laravel >= 5.5 you can skip this step and go to
configuration
Bytesfield\KeyManager\KeyManagerServiceProvider::class,
Also, register the Facade like so:
Configuration
You can publish the configuration file using this command:
This publishes a configuration-file named keymanager.php with some sensible defaults will be placed in your config directory and two migration files create_key_clients_table and create_key_api_credentials_table placed in your database\migrations directory:
Then run this command to migrate your database
Usage
Generate API Encryption Key by running this command on your terminal
This will generate an encryption key in your .env:
If you are using a hosting service like heroku, ensure to add the above details to your configuration variables.
Using KeyManager Facade
Import the KeyManager Facade
Create a Key Client
This creates a client with public and private keys pairs
Note : $status param can either be active or suspended while $type is dependent on what you want e.g user or admin.
Get Private Key
Change Key Pairs
Suspend a client
Activate a Client
Suspend an API Credential
Activate an API Credential
Injecting KeyManager or KeyManagerInterface in a constructor
Import the KeyManager or KeyManagerInterface
Or
Create a Key Client
This creates a client with public and private keys pairs
Note : $status param can either be active or suspended while $type is dependent on what you want e.g user or admin.
Get Private Key
Change Key Pairs
Suspend a Client
Activate a Client
Suspend an API Credential
Activate an API Credential
Using Commands
You can use commands to perform these actions too.
Create a Key Client
Or
This creates a client with public and private keys pairs
Note : $status param can either be active or suspended while $type is dependent on what you want e.g user or admin.
Get Private Key
Change Key Pairs
Suspend a client
Activate a Client
Suspend an API Credential
Activate an API Credential
Using the middleware to protect your routes.
In your route add auth.client middleware
Or
In your controller add auth.client
This Middleware Authenticates a client's request with a valid private key value api-auth-key which is to be passed to the request header.
Testing
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email abrahamudele@gmail instead of using the issue tracker.
Credits
- Abraham Udele
Find me on Twitter. Linkedin.
License
The MIT License (MIT). Please see License File for more information.

