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.