PHPackages                             webteractive/filament-passport - 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. webteractive/filament-passport

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

webteractive/filament-passport
==============================

A Filament plugin to manage Laravel Passport OAuth clients, tokens, and auth codes.

v1.0.0(2mo ago)015MITPHPPHP ^8.2

Since Mar 4Pushed 2mo agoCompare

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

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

Filament Passport
=================

[](#filament-passport)

A [Filament](https://filamentphp.com) plugin to manage [Laravel Passport](https://laravel.com/docs/passport) OAuth clients, access tokens, and authorization codes. Ships with default OAuth consent views so Passport works out of the box.

> **Note:** Device flow (Device Authorization grant) requires **Laravel Passport v13**. All other features work with Passport v12 and v13.

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

[](#requirements)

- PHP 8.2+
- Filament 4.x or 5.x
- Laravel Passport 12.x or 13.x

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

[](#installation)

Make sure [Laravel Passport](https://laravel.com/docs/passport#installation) is installed and migrated first:

```
php artisan install:api --passport
```

Then install the plugin:

```
composer require webteractive/filament-passport
```

Register the plugin in your panel provider:

```
use Webteractive\FilamentPassport\FilamentPassportPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugins([
            FilamentPassportPlugin::make(),
        ]);
}
```

Publish the config (optional):

```
php artisan vendor:publish --tag=filament-passport-config
```

Authorization Views
-------------------

[](#authorization-views)

This package provides default OAuth consent views so you don't have to build them yourself:

- **Authorization** — consent screen for OAuth authorization requests (v12 &amp; v13)
- **Device Authorization** — consent screen for device flow (v13 only)
- **Device User Code** — form for entering a device code (v13 only)

### Customizing Views

[](#customizing-views)

Publish the views to your app and edit them:

```
php artisan vendor:publish --tag=filament-passport-views
```

This copies the views to `resources/views/vendor/filament-passport/` where they take precedence.

### Using Your Own Views

[](#using-your-own-views)

You can override individual views via config — set a custom view name or `null` to skip registration for that view:

```
// config/filament-passport.php
'views' => [
    'enabled' => true,

    // Set to a custom view name, or null to skip
    'authorization' => 'my-custom-views.authorize',
    'device_authorization' => 'filament-passport::device.authorize',
    'device_user_code' => 'filament-passport::device.user-code',
],
```

For example, [Laravel MCP](https://laravel.com/docs/mcp) requires its own authorization view for AI agent OAuth consent. Set `authorization` to `null` so this package skips it, then register the MCP view in your `AppServiceProvider`:

```
// config/filament-passport.php
'views' => [
    'enabled' => true,

    'authorization' => null, // Let MCP handle this
    'device_authorization' => 'filament-passport::device.authorize',
    'device_user_code' => 'filament-passport::device.user-code',
],
```

```
// app/Providers/AppServiceProvider.php
use Laravel\Passport\Passport;

public function boot(): void
{
    Passport::authorizationView(fn ($parameters) => view('mcp.authorize', $parameters));
}
```

To skip all view bindings entirely:

```
// config/filament-passport.php
'views' => [
    'enabled' => false,
],
```

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

[](#configuration)

### Toggle Resources

[](#toggle-resources)

Disable any resource via config or fluently on the plugin:

```
// config/filament-passport.php
'resources' => [
    'client'       => ['enabled' => true],
    'access_token' => ['enabled' => true],
    'auth_code'    => ['enabled' => false],
],
```

```
// Or in your panel provider
FilamentPassportPlugin::make()
    ->clients()
    ->accessTokens()
    ->authCodes(false),
```

### Navigation

[](#navigation)

```
// config/filament-passport.php
'navigation' => [
    'group' => 'OAuth',
    'sort'  => null,
],
```

### Access Control

[](#access-control)

The plugin checks authorization in this order:

1. **Gate** — if a `viewFilamentPassport` gate is defined, it is used.
2. **Callback** — a closure passed via `canAccess()`.
3. **Default** — open access (returns `true`).

```
// Gate
Gate::define('viewFilamentPassport', fn ($user) => $user->isAdmin());

// Or callback
FilamentPassportPlugin::make()
    ->canAccess(fn () => auth()->user()->isAdmin()),
```

Supported Grant Profiles
------------------------

[](#supported-grant-profiles)

ProfileConfidentialRedirect URIsDevice FlowAuthorization CodeconfigurablerequiredoptionalAuthorization Code (PKCE)norequirednoDevice Authorization *(v13 only)*configurablenoyesPasswordconfigurablenonoImplicitnorequirednoClient CredentialsyesnonoTesting
-------

[](#testing)

```
composer test
```

License
-------

[](#license)

MIT. See [LICENSE](LICENSE) for details.

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance85

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community6

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

76d ago

### Community

Maintainers

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

---

Top Contributors

[![hadefication](https://avatars.githubusercontent.com/u/6673244?v=4)](https://github.com/hadefication "hadefication (11 commits)")

---

Tags

laraveloauthpassportadminfilament

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/webteractive-filament-passport/health.svg)

```
[![Health](https://phpackages.com/badges/webteractive-filament-passport/health.svg)](https://phpackages.com/packages/webteractive-filament-passport)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[stephenjude/filament-two-factor-authentication

Filament Two Factor Authentication: Google 2FA + Passkey Authentication

81158.7k4](/packages/stephenjude-filament-two-factor-authentication)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

5925.8k](/packages/marcelweidum-filament-passkeys)[danjdewhurst/laravel-passport-facebook-login

Facebook Token Request Grant for Laravel Passport

2824.4k](/packages/danjdewhurst-laravel-passport-facebook-login)[wearedevtical/novassport

A Laravel Nova tool to manage API Authentication (Passport).

663.1k](/packages/wearedevtical-novassport)[mikemclin/passport-custom-request-grant

Custom Request Grant for Laravel Passport

343.6k](/packages/mikemclin-passport-custom-request-grant)

PHPackages © 2026

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