SAML2 Okta plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

SAML2 Okta

Community

Adds 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.

Tags: Panel Authentication Panel Authorization
Supported versions:
5.x 4.x
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the 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 .
John Michael Rivera Gonzalez avatar Author: John Michael Rivera Gonzalez

Documentation

Filament SAML2 Okta

Complete SAML2 SSO authentication for Filament panels — optimized for Okta, compatible with any SAML2 identity provider.

Latest Version on Packagist License Filament

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

Main SAML2 settings

#Identity provider (Okta / IdP)

Identity provider configuration

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)

Service provider configuration

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

Field mapping and UI settings

  • Toggle SAML2 login on/off
  • Custom button label and icon (Okta, Microsoft, Google, Auth0, or Heroicons)

#Debug & field mapper

Debug logs page

  • Enable debug logging to inspect SAML attributes
  • Map IdP fields to User columns with live sample data

#Production checklist

  1. Use HTTPS — SAML2 requires TLS in production.
  2. Set APP_URL to your real domain.
  3. Register callback URL in your IdP: https://your-domain.com/saml2/callback
  4. Upload SP metadata or certificate to your IdP.
  5. Disable debug mode after testing.
  6. Run php artisan optimize after 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

John Michael Rivera Gonzalez avatar Author: John Michael Rivera Gonzalez

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.

Plugins
1
Stars
2