PHPackages                             offline-agency/filament-spid - 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. offline-agency/filament-spid

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

offline-agency/filament-spid
============================

SPID authentication plugin for Filament based on italia/spid-laravel

0.1.8(6mo ago)130[1 PRs](https://github.com/offline-agency/filament-spid/pulls)MITPHPPHP ^8.2|^8.3|^8.4CI failing

Since Oct 9Pushed 1mo agoCompare

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

READMEChangelog (8)Dependencies (14)Versions (11)Used By (0)

Filament SPID
=============

[](#filament-spid)

[![Latest Version on Packagist](https://camo.githubusercontent.com/dea65803ec27ac9cee37365cc45c47a7bc9a39897d6bc73766e40ee9cfb44df5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6f66666c696e652d6167656e63792f66696c616d656e742d737069642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/offline-agency/filament-spid)[![GitHub Tests Action Status](https://camo.githubusercontent.com/26915c90fbbb7b8a3ec082ae50027a01f688ff2a242a5175a066b166234c7987/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6f66666c696e652d6167656e63792f66696c616d656e742d737069642f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/offline-agency/filament-spid/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/302c44e3408b7c3e53b25bf9f471ecd6191e110f982b217def95f181ebe4f2ff/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6f66666c696e652d6167656e63792f66696c616d656e742d737069642f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/offline-agency/filament-spid/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/eed1114377add7bf0c71c67c418a6b1d3e76d2e2f3164d226632271381a8a255/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6f66666c696e652d6167656e63792f66696c616d656e742d737069642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/offline-agency/filament-spid)

SPID (Sistema Pubblico di Identità Digitale) authentication plugin for Filament based on [italia/spid-laravel](https://github.com/italia/spid-laravel).

This package allows you to integrate SPID authentication into your Filament admin panels, enabling Italian public administration identity management.

[![Filament SPID Banner](https://camo.githubusercontent.com/886db14616c51c58f233d6d156fcf10039d21538b7caa33e532619d15bd28e1b/68747470733a2f2f62616e6e6572732e6265796f6e64636f2e64652f46696c616d656e74253230537069642e706e673f7468656d653d6461726b267061636b6167654d616e616765723d636f6d706f7365722b72657175697265267061636b6167654e616d653d6f66666c696e652d6167656e637925324666696c616d656e742d73706964267061747465726e3d65796573267374796c653d7374796c655f31266465736372697074696f6e3d46696c616d656e742b706c7567696e2b666f722b535049442b61757468656e7469636174696f6e2b696e2b4c61726176656c2e266d643d312673686f7757617465726d61726b3d3026666f6e7453697a653d313030707826696d616765733d68747470732533412532462532466c61726176656c2e636f6d253246696d672532466c6f676f6d61726b2e6d696e2e737667)](https://camo.githubusercontent.com/886db14616c51c58f233d6d156fcf10039d21538b7caa33e532619d15bd28e1b/68747470733a2f2f62616e6e6572732e6265796f6e64636f2e64652f46696c616d656e74253230537069642e706e673f7468656d653d6461726b267061636b6167654d616e616765723d636f6d706f7365722b72657175697265267061636b6167654e616d653d6f66666c696e652d6167656e637925324666696c616d656e742d73706964267061747465726e3d65796573267374796c653d7374796c655f31266465736372697074696f6e3d46696c616d656e742b706c7567696e2b666f722b535049442b61757468656e7469636174696f6e2b696e2b4c61726176656c2e266d643d312673686f7757617465726d61726b3d3026666f6e7453697a653d313030707826696d616765733d68747470732533412532462532466c61726176656c2e636f6d253246696d672532466c6f676f6d61726b2e6d696e2e737667)

Features
--------

[](#features)

- 🇮🇹 Full SPID integration for Filament
- 🔐 Secure SAML2 authentication
- 🎨 Customizable login view
- 🔧 Compatible with Filament 3 &amp; 4
- 📦 Support for Laravel 10, 11, 12
- ⚡ PHP 8.2+ ready
- 🧪 Fully tested

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

[](#requirements)

- PHP 8.2 or higher
- Laravel 10.x, 11.x, or 12.x
- Filament 3.x or 4.x
- [italia/spid-laravel](https://github.com/italia/spid-laravel) package

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

[](#installation)

You can install the package via composer:

```
composer require offline-agency/filament-spid
```

Publish the configuration file:

```
php artisan vendor:publish --tag="filament-spid-config"
```

Publish and run the migrations:

```
php artisan vendor:publish --tag="filament-spid-migrations"
php artisan migrate
```

Optionally, you can publish the views:

```
php artisan vendor:publish --tag="filament-spid-views"
```

### Publishing Images

[](#publishing-images)

To publish the SPID AGID logo images to your public directory:

```
php artisan vendor:publish --tag="filament-spid-images"
```

This will copy the SPID AGID logo images (both PNG and SVG formats) to:

- `public/vendor/filament-spid/images/`
- `public/images/`

The images will be accessible at:

- `/vendor/filament-spid/images/spid-agid-logo.png`
- `/vendor/filament-spid/images/spid-agid-logo.svg`

Alternatively, you can use the provided script in the package root:

```
./publish-images.sh
```

SPID Configuration
------------------

[](#spid-configuration)

First, configure the base SPID Laravel package. Follow the [italia/spid-laravel documentation](https://github.com/italia/spid-laravel) to:

1. Generate SPID certificates
2. Configure your Service Provider metadata
3. Set up SPID Identity Providers

Add the following fields to your users table migration (if not already published):

```
$table->string('fiscal_code')->unique()->nullable();
$table->json('spid_data')->nullable();
```

Usage
-----

[](#usage)

Register the plugin in your Filament Panel Provider:

```
use OfflineAgency\FilamentSpid\SpidPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->default()
        ->id('admin')
        ->path('admin')
        ->plugin(
            SpidPlugin::make()
                ->spidButtonLabel('Entra con SPID')
                ->providers([
                    'arubaid',
                    'infocertid',
                    'lepidaid',
                    'namirialid',
                    'posteid',
                    'sielteid',
                    'spiditalia',
                    'timid',
                    'teamsystemid'
                ])
        );
}
```

### Customization

[](#customization)

#### Custom Login View

[](#custom-login-view)

```
SpidPlugin::make()
    ->loginView('your-custom-view')
```

#### Custom Routes

[](#custom-routes)

```
SpidPlugin::make()
    ->loginRoute('custom.spid.login')
    ->logoutRoute('custom.spid.logout')
    ->acsRoute('custom.spid.acs')
    ->metadataRoute('custom.spid.metadata')
```

#### Hide SPID Button

[](#hide-spid-button)

```
SpidPlugin::make()
    ->showSpidButton(false)
```

#### Custom Button Label and Icon

[](#custom-button-label-and-icon)

```
SpidPlugin::make()
    ->spidButtonLabel('Login con SPID')
    ->spidButtonIcon('heroicon-o-shield-check')
```

#### Select Specific Providers

[](#select-specific-providers)

```
SpidPlugin::make()
    ->providers(['posteid', 'arubaid', 'infocertid'])
```

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

[](#configuration)

The `config/filament-spid.php` configuration file allows you to customize:

```
return [
    'user_model' => \App\Models\User::class,
    'redirect_after_login' => '/admin',
    'spid_level' => 'https://www.spid.gov.it/SpidL2',
];
```

User Model
----------

[](#user-model)

Your User model should have these fields:

```
protected $fillable = [
    'name',
    'email',
    'fiscal_code',
    'spid_data',
    // ... other fields
];

protected $casts = [
    'spid_data' => 'array',
];
```

SPID Levels
-----------

[](#spid-levels)

SPID supports three security levels:

- `SpidL1` - Level 1 (Username and password)
- `SpidL2` - Level 2 (Username, password, and OTP) - **Default**
- `SpidL3` - Level 3 (Smart card or hardware token)

Configure the level in your config file or when calling the login:

```
route('spid.login', ['provider' => 'posteid', 'level' => 'SpidL2'])
```

Testing
-------

[](#testing)

```
composer test
```

Run tests with coverage:

```
composer test-coverage
```

Code Style
----------

[](#code-style)

```
composer format
```

Static Analysis
---------------

[](#static-analysis)

```
composer analyse
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Offline Agency](https://offlineagency.it)
- [All Contributors](../../contributors)
- Based on [italia/spid-laravel](https://github.com/italia/spid-laravel)

Support
-------

[](#support)

For support and questions:

- Email:
- GitHub Issues: [Create an issue](https://github.com/offline-agency/filament-spid/issues)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

About Offline Agency
--------------------

[](#about-offline-agency)

Offline Agency is a web development agency based in Italy, specializing in Laravel and Filament applications.

- Website:
- GitHub: [@offline-agency](https://github.com/offline-agency)
- Email:

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance81

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90.6% 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 ~3 days

Total

8

Last Release

195d ago

PHP version history (2 changes)0.1.1PHP ^8.2

0.1.6PHP ^8.2|^8.3|^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/33f8b76656d71bddf83e5924863f37dea04f3f89196e7fb9cf25e30c3ee27093?d=identicon)[offlineagency](/maintainers/offlineagency)

---

Top Contributors

[![Giacomo92](https://avatars.githubusercontent.com/u/11694429?v=4)](https://github.com/Giacomo92 "Giacomo92 (58 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (6 commits)")

---

Tags

laravelAuthenticationfilamentitaliaSPiDidentity provideroffline-agency

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/offline-agency-filament-spid/health.svg)

```
[![Health](https://phpackages.com/badges/offline-agency-filament-spid/health.svg)](https://phpackages.com/packages/offline-agency-filament-spid)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[jeffgreco13/filament-breezy

A custom package for Filament with login flow, profile and teams support.

1.0k1.7M41](/packages/jeffgreco13-filament-breezy)[andrewdwallo/filament-companies

A comprehensive Laravel authentication and authorization system designed for Filament, focusing on multi-tenant company management.

34450.0k2](/packages/andrewdwallo-filament-companies)[dutchcodingcompany/filament-socialite

Social login for Filament through Laravel Socialite

213914.9k9](/packages/dutchcodingcompany-filament-socialite)[stephenjude/filament-two-factor-authentication

Filament Two Factor Authentication: Google 2FA + Passkey Authentication

81158.7k4](/packages/stephenjude-filament-two-factor-authentication)[chrisreedio/socialment

Provides Socialite functionality for Filament.

10884.8k1](/packages/chrisreedio-socialment)

PHPackages © 2026

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