n3xt0r/filament-passport-ui

Filament v4 admin resources for managing Laravel Passport OAuth2 clients, tokens, and scopes with full auditability.

Fund package maintenance!
N3XT0R

Installs: 44

Dependents: 0

Suggesters: 0

Security: 0

Stars: 5

Watchers: 1

Forks: 1

pkg:composer/n3xt0r/filament-passport-ui


README

Latest Version on Packagist Security Rating ISO 27001 Audit Ready GitHub Tests Action Status Maintainability Code Coverage GitHub Code Style Action Status Total Downloads

Filament Passport UI Logo

Filament Passport UI provides a structured administrative interface for managing Laravel Passport OAuth resources using Filament v4.

This package focuses on administration, visibility, and governance not on implementing or enforcing OAuth flows.

Designed for applications that already rely on Filament as their primary admin panel and need to manage OAuth clients, tokens, scopes, and authorization concepts in a centralized, reviewable way without custom tooling or CLI workflows.

Overview

Filament Passport UI adds an administration layer on top of Laravel Passport:

  • Manage OAuth clients explicitly by grant type (authorization code, client credentials, password, personal access, implicit, device)
  • View and revoke access tokens with full visibility into state and expiration
  • Model scopes as structured resource:action pairs instead of free-form strings
  • Track grants and authorization relationships centrally
  • Make all authorization decisions explicit and auditable

Important: Passport itself is not modified. This package operates entirely at the application and UI level.

Features

Central Management

  • Filter and manage OAuth clients by grant type
  • Enable or revoke clients via UI
  • Structure scopes (not ad-hoc strings)
  • Full visibility into authorization state
  • Explicit client-level and user-level scope assignment
  • Enforce Least Privilege: user scopes are always a strict subset of client scopes

Filament v4 Integration

  • Native Filament Resources and Pages
  • Consistent UX aligned with Filament conventions
  • Multi-step wizard for client creation with contextual steps based on grant type
  • No custom panels required

Auditability & Compliance

  • All administrative actions recorded via spatie/laravel-activitylog
  • Full traceability of OAuth configuration changes
  • Supports compliance requirements (e.g. ISO/IEC 27001)
  • Audit logs remain application-owned

Note: Certification is organization-specific. This package enables auditability but does not constitute compliance by itself.

Design Principles

  • No modifications to Passport internals
  • No assumptions about application architecture
  • Authorization logic remains the responsibility of the application
  • All administrative actions are explicit and reviewable

What This Package Does NOT Do

  • Implement OAuth flows
  • Replace Passport
  • Enforce authorization decisions at runtime
  • Infer application-specific security rules

Authorization logic is the responsibility of the application and its developers.

Why This Exists

Laravel Passport is standards-compliant but intentionally stays neutral on administration and governance. In real-world applications, this often results in:

  • OAuth clients created via CLI and never revisited
  • Scopes defined ad-hoc without structure
  • No central visibility of active tokens
  • Unclear ownership of integrations across teams

Filament Passport UI solves this by providing:

  • Central visibility into OAuth configuration
  • Structured scope modeling (resource:action)
  • Explicit administrative workflows
  • Single point of review and governance

Essential for systems with multiple integrations or teams managing OAuth access.

Requirements

  • PHP ^8.4
  • Laravel ^12
  • Laravel Passport ^13
  • Filament v4

Installation

composer require n3xt0r/filament-passport-ui
php artisan filament-passport-ui:install

If your application uses custom Passport models, publish the configuration file and adjust model mappings accordingly.

Architecture

The package maintains strict separation of concerns:

  • Domain Logic: Laravel Passport Authorization Core (scope and grant modeling, authorization context resolution)
  • UI Layer: Filament Passport UI (administration interface, visibility, governance)

The API remains stable while authorization logic evolves in the core package.

Migration to v2

Starting with v2, Filament Passport UI uses the Laravel Passport Authorization Core package.

Database schema and optional configuration are managed by the core package and not published automatically.

See Migration to v2 for detailed instructions.

Development & Testing

composer install
composer test       # Run tests
composer serve      # Start local dev server

Access admin at http://localhost:8000/admin
Login: test@example.com / password

Documentation & Status

  • Docs: Full Documentation
  • Status: Actively developed. Feedback and discussion welcome on GitHub