raditzfarhan/fimm-keycloak

A simple Keycloak package to manage access level for FIMM system.

0.0.0 2021-09-17 11:38 UTC

This package is auto-updated.

Last update: 2024-05-17 18:02:05 UTC


README

A simple keycloak package for FIMM to manage the access control. This package will contain the Role middleware so that each route can be configured to be accessed by certain roles only.

Installation

You can install the package via composer:

composer require raditzfarhan/fimm-keycloak

Configuration

First you will need to add the role middleware to the Kernel in route middleware section.

protected $routeMiddleware = [
    ...
    'role' => \RaditzFarhan\FimmKeycloak\Middleware\KeycloakRole::class,
];

Then set the default Client ID in .env

FIMM_KEYCLOAK_CLIENT_ID=fimm-app

Usage

Then you can start using the role middleware in your route.

// The routes in this group will only be accessible by consultant role
Route::middleware(['role:consultant'])->group(function () {
    // your routes here
});

// The routes in this group will only be accessible by fimm_admin or consultant role
Route::middleware(['role:fimm_admin|consultant'])->group(function () {
    // your code here
});

// If by any reason you need to use a different client, just append the client name using @ symbol
// The routes in this group will only be accessible by distributor_admin role from another-app client
Route::middleware(['role:distributor_admin@another-app'])->group(function () {
    // your code here
});

Testing

composer test

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 raditzfarhan@gmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.