PHPackages                             johnriveragonzalez/saml2-okta - 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. johnriveragonzalez/saml2-okta

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

johnriveragonzalez/saml2-okta
=============================

Filament panel plugin for SAML2 SSO authentication with Okta and other identity providers

v2.0.1(2w ago)036MITPHPPHP ^8.2

Since Jun 13Pushed 8mo agoCompare

[ Source](https://github.com/Johnrivera7/filamentSaml2Okta)[ Packagist](https://packagist.org/packages/johnriveragonzalez/saml2-okta)[ Docs](https://github.com/Johnrivera7/filamentSaml2Okta)[ RSS](/packages/johnriveragonzalez-saml2-okta/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (15)Versions (25)Used By (0)

Filament SAML2 Okta
===================

[](#filament-saml2-okta)

[![Filament SAML2 Okta](docs/logo%20header%20principal%20plugin.png)](docs/logo%20header%20principal%20plugin.png)

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

[![Latest Version on Packagist](https://camo.githubusercontent.com/146d0cc1d16916f75ca304e359d6715d6fd18f4dceb49715f1a453375777a88a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6a6f686e726976657261676f6e7a616c657a2f73616d6c322d6f6b74612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/johnriveragonzalez/saml2-okta)[![License](https://camo.githubusercontent.com/73d9359b8e5f22f9de0c5eaa40cc8849382c06a6911a41ef9c3ccb1f3edb819f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6a6f686e726976657261676f6e7a616c657a2f73616d6c322d6f6b74612e7376673f7374796c653d666c61742d737175617265)](LICENSE)[![Filament](https://camo.githubusercontent.com/e417bbc6d96636d676767b64263f9da3dbb038d0102db60b11d021eba43d89b9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f46696c616d656e742d342e78253230253743253230352e782d6666623032303f7374796c653d666c61742d737175617265)](https://filamentphp.com)

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](https://filamentphp.com/docs/5.x/plugins/getting-started): `PackageServiceProvider`, `Filament\Contracts\Plugin`, and Schema-based panel pages.

---

Features
--------

[](#features)

FeatureDescription**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
------------

[](#requirements)

BranchFilamentLaravelPHP`master` / `5.x`5.x11+ / 12+8.2+`4.x`4.x11+8.2+---

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

[](#installation)

### 1. Install via Composer

[](#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

[](#2-publish-migrations-and-migrate)

```
php artisan vendor:publish --tag="saml2-okta-migrations"
php artisan migrate
```

### 3. Register the plugin

[](#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

[](#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

[](#5-optional-publishes)

```
php artisan vendor:publish --tag="saml2-okta-translations"
php artisan vendor:publish --tag="saml2-okta-config"
```

---

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

[](#configuration)

Open **SAML2 → Configuración SAML2** in your Filament panel.

### Main settings

[](#main-settings)

[![Main SAML2 settings](docs/config%20usuarios%20debug%20certificados.png)](docs/config%20usuarios%20debug%20certificados.png)

### Identity provider (Okta / IdP)

[](#identity-provider-okta--idp)

[![Identity provider configuration](docs/config%20basica%20y%20proveedor%20de%20identidad%20.png)](docs/config%20basica%20y%20proveedor%20de%20identidad%20.png)

FieldDescriptionClient IDApplication client ID from your IdPClient SecretApplication secret (optional update on save)IDP Entity IDEntity ID from Okta or your IdPIDP SSO URLSingle sign-on URLIDP X.509 CertificateIdP public certificate### Service provider (your app)

[](#service-provider-your-app)

[![Service provider configuration](docs/config%20del%20proveedor%20de%20servicio.png)](docs/config%20del%20proveedor%20de%20servicio.png)

FieldDescriptionSP Entity IDAuto-generated metadata URLCallback URL`https://your-domain.com/saml2/callback`SP Certificate / Private KeyGenerate from the panel or paste your own### User settings

[](#user-settings)

- Auto-create users on first login
- Auto-update existing users
- Default role for new SAML users
- Mark users as external

### Login button

[](#login-button)

[![Field mapping and UI settings](docs/config%20mapeo%20de%20campos.png)](docs/config%20mapeo%20de%20campos.png)

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

### Debug &amp; field mapper

[](#debug--field-mapper)

[![Debug logs page](docs/pagina%20debug%20ver%20logs.png)](docs/pagina%20debug%20ver%20logs.png)

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

---

Production checklist
--------------------

[](#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
----------------

[](#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
-----------------

[](#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
-----------------------------

[](#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
------------

[](#contributing)

Issues and pull requests are welcome at [github.com/Johnrivera7/filamentSaml2Okta](https://github.com/Johnrivera7/filamentSaml2Okta).

---

License
-------

[](#license)

MIT © [John Rivera Gonzalez](https://github.com/Johnrivera7)

---

Español
-------

[](#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.

###  Health Score

39

↑

LowBetter than 84% of packages

Maintenance75

Regular maintenance activity

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity56

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

Every ~11 days

Recently: every ~62 days

Total

24

Last Release

20d ago

Major Versions

v1.2.0 → v2.0.02026-06-13

v2.0.1 → 5.x-dev2026-06-13

PHP version history (2 changes)v1.0.0PHP ^8.1

v2.0.0PHP ^8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/32875176?v=4)[sie7e](/maintainers/Johnrivera7)[@Johnrivera7](https://github.com/Johnrivera7)

---

Top Contributors

[![Johnrivera7](https://avatars.githubusercontent.com/u/32875176?v=4)](https://github.com/Johnrivera7 "Johnrivera7 (44 commits)")

---

Tags

laravelAuthenticationSSOSAML2single sign onfilamentfilament-pluginfilamentphpoktapanelFilament panelidentity providerjohnriveragonzalezsaml2-okta

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/johnriveragonzalez-saml2-okta/health.svg)

```
[![Health](https://phpackages.com/badges/johnriveragonzalez-saml2-okta/health.svg)](https://phpackages.com/packages/johnriveragonzalez-saml2-okta)
```

###  Alternatives

[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.6k](/packages/rawilk-profile-filament-plugin)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

6649.5k1](/packages/marcelweidum-filament-passkeys)[stephenjude/filament-two-factor-authentication

Filament Two Factor Authentication: Google 2FA + Passkey Authentication

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

Social login for Filament through Laravel Socialite

2191.1M10](/packages/dutchcodingcompany-filament-socialite)[croustibat/filament-jobs-monitor

Background Jobs monitoring like Horizon for all drivers for FilamentPHP

274326.6k8](/packages/croustibat-filament-jobs-monitor)[chrisreedio/socialment

Provides Socialite functionality for Filament.

111103.2k2](/packages/chrisreedio-socialment)

PHPackages © 2026

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