DEV Community

Ilya Beliaev
Ilya Beliaev

Posted on

Filament Passport UI – Managing Laravel Passport OAuth with Clarity

Laravel Passport provides a solid, standards-compliant OAuth2 implementation.

What it intentionally does not provide is an opinionated way to administer and govern OAuth configuration.

In real-world applications, this often leads to:

  • OAuth clients created once via CLI and never revisited
  • unclear ownership of machine-to-machine clients
  • scopes defined as ad-hoc strings without structure
  • no central overview of active tokens and permissions

Filament Passport UI was created to close this gap.

👉 https://github.com/N3XT0R/filament-passport-ui


What Filament Passport UI is

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

It is designed for applications that already use Filament as their primary admin panel and want to manage:

  • OAuth clients
  • tokens
  • scopes
  • grants and authorization-related state

in a clear, explicit, and reviewable way.

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


What the package does

Filament Passport UI adds a domain-oriented admin layer on top of Laravel Passport:

  • OAuth clients are managed explicitly instead of being created only via CLI
  • Scopes are modeled and managed in a structured way
  • Tokens and grants become visible and reviewable
  • Authorization decisions remain enforced by Passport at runtime

Passport itself is not modified or extended.

All logic operates at the application and UI level.


Key features

OAuth client management

  • Manage OAuth clients by grant type:
    • authorization code
    • client credentials
    • password
    • personal access
    • implicit
    • device
  • View client metadata and ownership
  • Enable or revoke clients via UI

Token visibility

  • Inspect issued access tokens
  • Review token state and expiration
  • Revoke tokens explicitly

Structured scopes

  • Manage scopes via UI instead of static configuration
  • Model scopes as resource:action
  • Group and reason about permissions in a human-readable way
  • Designed to work with structured authorization models

Native Filament integration

  • Built with Filament v4 resources and pages
  • UX aligned with Filament conventions
  • No custom panels or hacks required

Auditability

  • Administrative actions are fully auditable
  • Changes can be recorded via spatie/laravel-activitylog
  • Supports traceability for security and compliance contexts (e.g. ISO/IEC 27001)

What this package does not do

To be explicit:

  • ❌ It does not implement OAuth flows
  • ❌ It does not replace Laravel Passport
  • ❌ It does not enforce authorization decisions
  • ❌ It does not guess application security rules

Authorization logic remains the responsibility of the application.


Relationship to Laravel Passport Authorization Core

Filament Passport UI builds on a clear architectural separation.

All Filament-agnostic authorization and domain logic is progressively consolidated into a dedicated core package:

👉 https://github.com/N3XT0R/laravel-passport-authorization-core

This allows:

  • a clean separation between domain logic and UI
  • reuse of authorization concepts outside of Filament
  • independent evolution of core logic and admin UI

Filament Passport UI remains focused purely on administrative workflows and presentation.


Who this is for

This package is useful if you:

  • use Laravel Passport and Filament
  • manage multiple OAuth clients or integrations
  • want visibility into tokens and permissions
  • care about long-term maintainability and auditability
  • prefer explicit administration over CLI-only workflows

Final thoughts

Filament Passport UI is not about adding features to Passport.

It’s about making OAuth configuration visible, explicit, and manageable in real-world systems.

Feedback, issues, and architectural discussion are very welcome.

👉 https://github.com/N3XT0R/filament-passport-ui

Top comments (0)