unicesil/shibboleth-bundle
Symfony bundle that integrates Shibboleth single sign-on into your app. It reads Shibboleth server variables to identify users, feeds them into Symfony's security layer, and simplifies protecting routes with SSO-based authentication.
mod_shib or FastCGI) is already running in front of the app and reads the attributes/headers that SP injects (eppn, mail, displayName, eduPersonAffiliation, schacHomeOrganization). That forces an explicit decision: do we run an SP per environment, or buy a managed SAML/SSO provider?eduPersonAffiliation=staff → department admin). Decide early whether provisioning is JIT-on-first-login or admin-approved.Consider it when all of the following hold:
laravel-saml2, a Socialite custom provider over onelogin/php-saml, or a managed IdP instead).Look elsewhere when:
onelogin/php-saml, SimpleSAMLphp, or a commercial/self-hosted IdP (Keycloak, Authentik, WorkOS, Auth0).Shib-* headers are trivially forgeable. That's an infrastructure control, not something the bundle enforces.To executives: Federated login is a checkbox that unlocks the university and research segment — many of those buyers cannot approve a vendor that only offers local passwords. This package proves the integration is small: it's a thin adapter over an identity system the customer already runs. But it is a 3-star, zero-dependent, single-institution project with no support contract. Recommendation: fund a two-week spike using it as a reference, and make the real investment decision on either a maintained SAML library or a managed identity vendor. Do not put it on the critical path of a revenue commitment.
To engineering: It's a Symfony bundle that consumes Shibboleth SP attributes and provisions users from them. If we're on Laravel, it's a design reference, not a dependency. If we adopt it, we fork it, pin it, own the security patches, and require a hard network boundary so only the SP can reach the app. Estimate the fork-and-own cost as permanent, not one-off.
How can I help you explore Laravel packages today?