PHPackages                             absolvent/bundle-api - 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. [API Development](/categories/api)
4. /
5. absolvent/bundle-api

ActiveProject[API Development](/categories/api)

absolvent/bundle-api
====================

2.3.0(8y ago)07.7k1MITPHPPHP &gt;=7.1.0

Since Apr 3Pushed 5y ago8 watchersCompare

[ Source](https://github.com/absolvent/bundle-api)[ Packagist](https://packagist.org/packages/absolvent/bundle-api)[ RSS](/packages/absolvent-bundle-api/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (11)Versions (22)Used By (0)

absolvent/bundle-api
====================

[](#absolventbundle-api)

JWT Authentication Guard
------------------------

[](#jwt-authentication-guard)

### Enable in project

[](#enable-in-project)

1. Add `Absolvent\api\Providers\AuthServiceProvider` to `config/app.php` providers.
2. Create `config/jwt.php` similar to `config/jwt.php` in this bundle
3. Change `defaults.guard` to `jwt` in `config/auth.php`
4. Add

```
'jwt' => [
    'driver' => 'jwt',
    'provider' => 'users',
],

```

to `guards` in `config/auth.php`

4. Add `JWT_SECRET` variable to `.env` (eq. `JWT_SECRET=SvfJknJLYWwvadkCLVE7HIzn2JpWDkXv`)

NOTE: `JWT_SECRET` should be te same as in `microservice-users`

### Usage

[](#usage)

Generally all Laravel authorization and authentication functionality should work out of the box when `JwtAuthenticationGuard` is configured properly.

#### Get jwt token / user information

[](#get-jwt-token--user-information)

```
use Illuminate\Support\Facades\Auth;

$user = Auth::user(); // returns JwtUser or null
$user = Auth::authenticate() // returns JwtUser or throws Exception
$jwtToken = Auth::getName(); // returns jwt token
$userSub = Auth::id(); // returns user email (jwt token `sub` claim)

```

User information are taken from jwt token so there are very basic. To get extended user information you have to issue call to `microservice-users`.

#### Permission based endpoint authentication

[](#permission-based-endpoint-authentication)

Add `permission` or `can` middleware to endpoint controller

```
class EndpointController extends \Absolvent\api\Http\Controller
{
    public function __construct()
    {
        $this->middleware('permission:TALENTDAYS_ADMIN|TALENTDAYS_AREA');
    }

    // ...
}

```

In above example only user with `TALENTDAYS_ADMIN` or `TALENTDAYS_AREA` can access the endpoint

Allow sending PATH requests with multipart-form content type
------------------------------------------------------------

[](#allow-sending-path-requests-with-multipart-form-content-type)

Add `Absolvent\api\Http\Middleware\PreparePatchMultiPartForm` to `Absolvent\api\Http\Kernel::$middleware`

Make sure that `PreparePatchMultiPartForm` is after `ValidatePostSize`

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 66.7% 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

Every ~19 days

Recently: every ~51 days

Total

19

Last Release

2982d ago

Major Versions

1.3.2 → 2.0.02017-04-29

### Community

Maintainers

![](https://www.gravatar.com/avatar/a8a4aa41384ab6f2762934a275a5ad37510b5feff35ba5727a08bfdad73c1d47?d=identicon)[Absolvent](/maintainers/Absolvent)

---

Top Contributors

[![majkel89](https://avatars.githubusercontent.com/u/1094964?v=4)](https://github.com/majkel89 "majkel89 (4 commits)")[![soszin](https://avatars.githubusercontent.com/u/5676565?v=4)](https://github.com/soszin "soszin (2 commits)")

---

Tags

boilerplate-microservice-v1tier-ii

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/absolvent-bundle-api/health.svg)

```
[![Health](https://phpackages.com/badges/absolvent-bundle-api/health.svg)](https://phpackages.com/packages/absolvent-bundle-api)
```

###  Alternatives

[darkaonline/l5-swagger

OpenApi or Swagger integration to Laravel

2.9k34.0M112](/packages/darkaonline-l5-swagger)[statamic/cms

The Statamic CMS Core Package

4.8k3.2M720](/packages/statamic-cms)[knuckleswtf/scribe

Generate API documentation for humans from your Laravel codebase.✍

2.3k12.2M45](/packages/knuckleswtf-scribe)

PHPackages © 2026

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