PHPackages                             raditzfarhan/fimm-keycloak - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. raditzfarhan/fimm-keycloak

ActiveLibrary

raditzfarhan/fimm-keycloak
==========================

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

0.0.0(4y ago)0244MITPHPPHP ^7.4|^8.0

Since Sep 17Pushed 4y ago1 watchersCompare

[ Source](https://github.com/raditzfarhan/fimm-keycloak)[ Packagist](https://packagist.org/packages/raditzfarhan/fimm-keycloak)[ Docs](https://github.com/raditzfarhan/fimm-keycloak)[ RSS](/packages/raditzfarhan-fimm-keycloak/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (3)Versions (3)Used By (0)

FIMM Keycloak
=============

[](#fimm-keycloak)

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
------------

[](#installation)

You can install the package via composer:

```
composer require raditzfarhan/fimm-keycloak
```

Configuration
-------------

[](#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
-----

[](#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

[](#testing)

```
composer test
```

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

### Security

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- Farhan -

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1698d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1203676?v=4)[Raditz Farhan](/maintainers/raditzfarhan)[@raditzfarhan](https://github.com/raditzfarhan)

---

Top Contributors

[![raditzfarhan](https://avatars.githubusercontent.com/u/1203676?v=4)](https://github.com/raditzfarhan "raditzfarhan (1 commits)")

---

Tags

keycloakfarhanfimmfimm-keycloak

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/raditzfarhan-fimm-keycloak/health.svg)

```
[![Health](https://phpackages.com/badges/raditzfarhan-fimm-keycloak/health.svg)](https://phpackages.com/packages/raditzfarhan-fimm-keycloak)
```

###  Alternatives

[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
