PHPackages                             vormiaphp/vormiaguardphp - 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. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. vormiaphp/vormiaguardphp

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

vormiaphp/vormiaguardphp
========================

VormiaGuardPHP: Laravel guard/auth package for Vormia ecosystem.

v1.0.0(10mo ago)10MITPHPPHP ^8.2CI failing

Since Jul 3Pushed 10mo agoCompare

[ Source](https://github.com/vormiaphp/vormiaguardphp)[ Packagist](https://packagist.org/packages/vormiaphp/vormiaguardphp)[ RSS](/packages/vormiaphp-vormiaguardphp/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

VormiaGuardPHP
==============

[](#vormiaguardphp)

Is a Laravel package providing guard and authentication endpoints, middleware, and utilities for the Vormia ecosystem. It is designed to work with VormiaGuardJS and VormiaQueryJS for full-stack authentication and authorization.

**VormiaGuard Packages**

VormiaGuardJS (frontend) enables powerful access control and role-based UI logic, but secure authentication and authorization require backend support. VormiaGuardPHP provides the necessary endpoints (/api/user, /api/can-access) and middleware for Laravel, ensuring your frontend and backend work together securely. Use VormiaGuardPHP with VormiaGuardJS for a complete, secure, full-stack solution.

Features
--------

[](#features)

- Guard endpoints for frontend integration
- Role and permission middleware
- Install, update, uninstall artisan commands
- Checks for Sanctum and Vormia dependencies

Installation
------------

[](#installation)

```
composer require vormiaphp/vormiaguardphp
php artisan vormiaguard:install
```

Commands
--------

[](#commands)

- `php artisan vormiaguard:install` – Installs VormiaGuardPHP, checks dependencies
- `php artisan vormiaguard:update` – Updates VormiaGuardPHP setup
- `php artisan vormiaguard:uninstall` – Uninstalls VormiaGuardPHP

Requirements
------------

[](#requirements)

- Laravel 9+
- vormiaphp/vormia
- laravel/sanctum

Endpoints
---------

[](#endpoints)

- `/api/user` – Returns authenticated user info
- `/api/can-access` – Checks if user can access a route (with optional middleware)
- `/login`, `/logout` – Standard Laravel auth endpoints

Middleware
----------

[](#middleware)

- Role, permission, and guard middleware for route protection

Next Steps
----------

[](#next-steps)

1. **Register routes** for `/api/user` and `/api/can-access` in your package's route file (e.g., `routes/api.php`):

    ```
    use VormiaGuardPhp\Http\Controllers\UserController;
    use VormiaGuardPhp\Http\Controllers\AccessController;

    Route::middleware(['auth:sanctum'])->group(function () {
        Route::get('/user', [UserController::class, 'show']);
        Route::get('/can-access', [AccessController::class, 'canAccess']);
    });
    ```
2. **Register the middleware** in your service provider or via Laravel's middleware aliases (e.g., in `app/Http/Kernel.php`):

    ```
    protected $routeMiddleware = [
        // ...
        'checkrole' => \VormiaGuardPhp\Http\Middleware\CheckRole::class,
    ];
    ```
3. **(Optional)** Add more middleware for permissions, modules, etc., as needed for your application's requirements.

---

### Laravel Backend: can-access Endpoint Example

[](#laravel-backend-can-access-endpoint-example)

Add this route to your Laravel backend to support backend-driven access checks:

```
// routes/api.php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate;

Route::middleware('auth:sanctum')->get('/can-access', function (Request $request) {
    $user = $request->user();
    $route = $request->query('route');
    $middleware = $request->query('middleware');

    // Example: check role middleware
    if ($middleware && str_starts_with($middleware, 'role:')) {
        $role = explode(':', $middleware)[1];
        if (!$user->hasRole($role)) {
            return response()->json(['allowed' => false], 403);
        }
    }

    // Example: check route access (customize as needed)
    if ($route && !$user->canAccessRoute($route)) {
        return response()->json(['allowed' => false], 403);
    }

    return response()->json(['allowed' => true]);
});
```

- Adjust the logic to match your app's authorization needs.
- You can check roles, permissions, or any custom logic.

---

---

For more, see the [examples/](./examples/) directory for full app samples.

### Laravel Backend: VormiaGuardPHP Example

[](#laravel-backend-vormiaguardphp-example)

To enable secure backend-driven access control, install and configure [VormiaGuardPHP](https://github.com/vormiaphp/vormiaguardphp) in your Laravel project:

```
composer require vormiaphp/vormiaguardphp
php artisan vormiaguard:install
```

Then, register the VormiaGuardPHP routes in your `routes/api.php`:

```
use VormiaGuardPhp\Http\Controllers\UserController;
use VormiaGuardPhp\Http\Controllers\AccessController;

Route::middleware(['auth:sanctum'])->group(function () {
    Route::get('/user', [UserController::class, 'show']);
    Route::get('/can-access', [AccessController::class, 'canAccess']);
});
```

And register the middleware in your `bootstrap/app.php`:

```
$middleware->alias([
    'checkrole' => \VormiaGuardPhp\Http\Middleware\CheckRole::class,
]);
```

VormiaGuardPHP provides the `/api/user` and `/api/can-access` endpoints and guard middleware required for VormiaGuardJS to function securely with your Laravel backend.

License
-------

[](#license)

VormiaGuardPHP is open-source and available under the MIT License.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance55

Moderate activity, may be stable

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity49

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

313d ago

### Community

Maintainers

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

---

Top Contributors

[![joshlminga](https://avatars.githubusercontent.com/u/7943555?v=4)](https://github.com/joshlminga "joshlminga (7 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/vormiaphp-vormiaguardphp/health.svg)

```
[![Health](https://phpackages.com/badges/vormiaphp-vormiaguardphp/health.svg)](https://phpackages.com/packages/vormiaphp-vormiaguardphp)
```

###  Alternatives

[lab404/laravel-impersonate

Laravel Impersonate is a plugin that allows to you to authenticate as your users.

2.3k16.4M48](/packages/lab404-laravel-impersonate)[overtrue/laravel-follow

User follow unfollow system for Laravel.

1.2k404.7k5](/packages/overtrue-laravel-follow)[tuandm/laravue

A beautiful dashboard for Laravel built by VueJS

2.2k16.6k](/packages/tuandm-laravue)[hasinhayder/tyro

Tyro - The ultimate Authentication, Authorization, and Role &amp; Privilege Management solution for Laravel 12 &amp; 13

6712.1k2](/packages/hasinhayder-tyro)

PHPackages © 2026

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