SAML2 Okta
CommunityAdds SAML2 single sign-on to your Filament panel with a full admin UI for IdP configuration, certificate management, user provisioning, SAML field mapping, and a customizable login button for Okta, Azure AD, Google Workspace, Auth0, and other standard identity providers.
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Author:
John Michael Rivera Gonzalez
Documentation
- Features
- Requirements
- Installation
- Configuration
- Production checklist
- Artisan commands
- Package structure
- Compatible identity providers
- Contributing
- License
- Español

Complete SAML2 SSO authentication for Filament panels — optimized for Okta, compatible with any SAML2 identity provider.
Panel plugin that adds SAML2 single sign-on to your Filament admin panel. Configure IdP credentials, certificates, user mapping, and a login button — all from the Filament UI. Database-driven configuration (no SAML secrets in .env).
Built following the official Filament plugin guidelines: PackageServiceProvider, Filament\Contracts\Plugin, and Schema-based panel pages.
#Features
| Feature | Description |
|---|---|
| SAML2 authentication | Full SP-initiated flow with Okta, Azure AD, Google Workspace, Auth0, and any standard SAML2 IdP |
| Filament admin UI | Settings, certificates, field mapper, and debug pages inside your panel |
| Auto certificates | Generate and regenerate SP X.509 certificates from the panel |
| User provisioning | Auto-create/update users, default roles, external-user flag |
| Field mapper | Visual mapping from SAML attributes to your User model |
| Login button | Injected via render hook with provider icons (Okta, Microsoft, Google, Auth0) or Heroicons |
| Debug mode | Detailed SAML logs for troubleshooting |
| Translations | English and Spanish included |
| Dark mode | Compatible with Filament light/dark themes |
#Requirements
| Branch | Filament | Laravel | PHP |
|---|---|---|---|
master / 5.x |
5.x | 11+ / 12+ | 8.2+ |
4.x |
4.x | 11+ | 8.2+ |
#Installation
#1. Install via Composer
# Filament 5.x
composer require johnriveragonzalez/saml2-okta:^2.0
# Filament 4.x
composer require johnriveragonzalez/saml2-okta:^2.0 --prefer-source
# Require branch 4.x in your composer.json if needed
#2. Publish migrations and migrate
php artisan vendor:publish --tag="saml2-okta-migrations"
php artisan migrate
#3. Register the plugin
In app/Providers/Filament/AdminPanelProvider.php:
use JohnRiveraGonzalez\Saml2Okta\Saml2OktaPlugin;
public function panel(Panel $panel): Panel
{
return $panel
->plugins([
Saml2OktaPlugin::make(),
]);
}
#4. Run the installer
php artisan saml2-okta:install
This command extends your User model, updates UserResource, and completes the initial setup.
#5. Optional publishes
php artisan vendor:publish --tag="saml2-okta-translations"
php artisan vendor:publish --tag="saml2-okta-config"
#Configuration
Open SAML2 → Configuración SAML2 in your Filament panel.
#Main settings

#Identity provider (Okta / IdP)

| Field | Description |
|---|---|
| Client ID | Application client ID from your IdP |
| Client Secret | Application secret (optional update on save) |
| IDP Entity ID | Entity ID from Okta or your IdP |
| IDP SSO URL | Single sign-on URL |
| IDP X.509 Certificate | IdP public certificate |
#Service provider (your app)

| Field | Description |
|---|---|
| SP Entity ID | Auto-generated metadata URL |
| Callback URL | https://your-domain.com/saml2/callback |
| SP Certificate / Private Key | Generate from the panel or paste your own |
#User settings
- Auto-create users on first login
- Auto-update existing users
- Default role for new SAML users
- Mark users as external
#Login button

- Toggle SAML2 login on/off
- Custom button label and icon (Okta, Microsoft, Google, Auth0, or Heroicons)
#Debug & field mapper

- Enable debug logging to inspect SAML attributes
- Map IdP fields to
Usercolumns with live sample data
#Production checklist
- Use HTTPS — SAML2 requires TLS in production.
- Set
APP_URLto your real domain. - Register callback URL in your IdP:
https://your-domain.com/saml2/callback - Upload SP metadata or certificate to your IdP.
- Disable debug mode after testing.
- Run
php artisan optimizeafter deployment.
#Artisan commands
php artisan saml2-okta:install
php artisan saml2-okta:extend-user-model
php artisan saml2-okta:extend-user-resource
php artisan saml2-okta:unregister-middleware # legacy upgrades only
#Package structure
src/
├── Commands/
├── Controllers/
├── Models/
├── Pages/
├── Services/
├── Saml2OktaPlugin.php
└── Saml2OktaServiceProvider.php
database/migrations/
resources/views/
routes/web.php
lang/en|es/
#Compatible identity providers
With bundled icons: Okta, Microsoft / Azure AD, Google Workspace, Auth0
Also compatible: OneLogin, Ping Identity, Shibboleth, ADFS, and any SAML2-compliant IdP.
#Contributing
Issues and pull requests are welcome at github.com/Johnrivera7/filamentSaml2Okta.
#License
MIT © John Rivera Gonzalez
#Español
Plugin completo de autenticación SAML2 para paneles Filament. Instalación, configuración de Okta/IdP, certificados, mapeo de campos y botón de login desde la interfaz de administración. Compatible con Filament 4.x y 5.x. Ver secciones anteriores para instalación detallada.
The author
I am a full-stack developer focused on building reliable web platforms for education, enterprise, and business operations. I work mainly with Laravel and Filament, creating admin panels, reusable packages, and integrations that solve real production needs.
I also have a background in cybersecurity as an ethical hacker, which shapes how I design and review software: secure authentication flows, proper access control, hardening production environments, and thinking about real-world attack surfaces before they become problems.
I contribute to the Filament ecosystem by developing open-source panel plugins, with a strong focus on authentication, enterprise SSO, and tools that help teams manage complex workflows from a clean admin interface. I follow official Filament standards and aim to publish practical, well-documented packages that developers can adopt with confidence.
Beyond Filament, I develop Moodle plugins and customizations for e-learning platforms, including integrations, Microsoft Teams modules, learning activities, custom course formats, and automated cloud backup solutions. I also build Laravel applications for insurance, commercial, corporate, and agricultural management systems.
My infrastructure work includes high-availability setups with PostgreSQL clusters, GlusterFS, Nginx, and Consul, as well as Odoo ERP and POS implementations. I enjoy working across the full stack—from backend architecture and DevOps automation to polished admin interfaces and end-user workflows.
I publish open-source packages on Packagist and GitHub, and I plan to keep expanding my contributions to Filament with new panel plugins over time.
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Advanced Tables (formerly Filter Sets)
Supercharge your tables with powerful features like user-customizable views, quick filters, multi-column sorting, advanced table searching, convenient view management, and more. Compatible with Resource Panel Tables, Relation Managers, Table Widgets, and Table Builder!
Kenneth Sese
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission