Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Shibboleth Authentication Bundle Laravel Package

gauss-allianz/shibboleth-authentication-bundle

Symfony bundle that adds Shibboleth single sign-on authentication to your application, letting you integrate federated identity providers and protect routes with Shibboleth-based login.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. This is a Symfony bundle, not a Laravel package, so the first TPM-level finding is a stack mismatch: it cannot be dropped into a Laravel application. The bundle's model — read Shibboleth SP attributes injected by the web server (typically Apache mod_shib), map them to a Symfony user, and hand off to Symfony's security firewall — is conceptually portable, but the implementation is coupled to Symfony's bundle/config/DI conventions and its Security component interfaces. For a Laravel estate, the reusable asset is the pattern and attribute-mapping logic, not the code. A Laravel team would implement an equivalent as a custom auth guard plus middleware, or adopt a native SAML package instead.

Integration feasibility. Feasible only under specific preconditions: (a) the application sits behind a properly configured Shibboleth SP (native mod_shib or a FastCGI/authorizer shim) that terminates federation and sets Shib-* / eppn / mail-style headers; (b) the app server is never directly reachable, so those headers cannot be spoofed; (c) the target Symfony version falls inside the bundle's declared Composer constraints. None of these are verifiable from the repository metadata supplied — stars (0), dependents (0), and the opportunity score (28.96) all signal an unvalidated, likely single-author artifact, possibly extracted from one organization's internal deployment.

Technical risk. High, concentrated in four areas:

  • Maintenance/orphan risk — no adoption signal means no downstream bug-finders, no CVE-watchers, and an unknown bus factor. A security-sensitive auth path is the worst place to be the only consumer.
  • Header-trust boundary — the entire security model rests on the SP headers being authoritative. Misconfiguration (direct exposure, proxy header passthrough, load-balancer header rewriting) converts the bundle into an impersonation vector.
  • Framework drift — Symfony's security system changed materially across 4.x→5.x→6.x→7.x. An unmaintained bundle pinned to an older major will blockade framework upgrades.
  • Federation lifecycle — IdP metadata refresh, signing certificate rotation, and attribute release negotiation are operational obligations the bundle does not remove.

Key questions.

  1. Is any target application actually Symfony, or is this being evaluated for Laravel? If Laravel, this is a no-go as a dependency.
  2. Which federation and IdP set (InCommon, DFN-AAI, UK Federation, eduGAIN, a corporate IdP)? Attribute names and release policy vary and drive the mapping work.
  3. Is a Shibboleth SP already deployed and owned by another team, or would we be standing one up?
  4. What Symfony/PHP versions are in scope, and do the bundle's Composer constraints admit them?
  5. Is Single Logout (SLO) required? Session termination across SP and IdP is where these integrations typically break.
  6. Who performs the security review, and will the org accept an unpinned, zero-adoption dependency in the auth path?

Integration Approach

Stack fit. Treat this as reference architecture, not a dependency unless the estate is Symfony and the version matrix checks out. For Symfony: install behind an existing SP, wire the bundle's firewall factory, and define the attribute-to-user mapping explicitly in config rather than accepting defaults. For Laravel: do not attempt a bridge; either (i) implement a thin guard/middleware reading the same SP headers — small, auditable, and fully ours — or (ii) use a maintained SAML SP library and skip mod_shib entirely. The second option removes a moving part (the Apache module) but adds XML-signing and metadata-handling surface, so it is not automatically cheaper.

Migration path. If a legacy in-house Shibboleth integration exists, the bundle's value is as a clean-room template for consolidating attribute mapping and firewall config. Budget a spike to read the source and extract: which headers it trusts, how it resolves/creates users, whether it handles just-in-time provisioning, and what it does on logout. That extraction is a day or two of engineering and de-risks everything downstream.

Compatibility. Verify before committing: composer.json PHP and symfony/* constraints, presence of tests, last commit date, and whether the branch targets a maintained Symfony LTS. Apache-2.0 is commercially clean with an explicit patent grant — a genuine positive and the main reason to read rather than discard the source.

Sequencing.

  1. Confirm framework target and Symfony version window (gate: stop if Laravel-only).
  2. Source review + dependency/composer audit (gate: stop if constraints exclude our versions).
  3. Stand up SP in a non-production environment against a test IdP; validate attribute release and header visibility.
  4. Prototype the mapping in a single low-risk app; security review of the header-trust boundary.
  5. Roll out per-app; document metadata refresh and cert rotation runbooks before the second app.

Operational Impact

Maintenance. Assume we maintain it. With zero dependents there is no upstream community to absorb framework changes; every Symfony major becomes our migration. The realistic TCO is "internal fork from day one," which is acceptable only if the code is small — auth adapters usually are — and if we consciously accept ownership.

Support. No vendor SLA, no issue-tracker responsiveness expectation, no security advisory channel. For an authentication component in a regulated or education context (GDPR, FERPA-adjacent data), that absence must be covered by internal security review and an incident runbook naming an owner.

Scaling. Low risk: the bundle is stateless per request — the SP does the federation work and the app reads headers. Horizontal scaling is unaffected. The real scaling constraint is organizational: each new application requires SP configuration and IdP attribute-release negotiation, which is coordination cost, not compute.

Failure modes. Enumerate and instrument them: SP down or misconfigured (all logins fail hard — no local fallback unless explicitly built); IdP metadata or certificate expiry (federated login breaks silently at rotation); attribute release narrowing by the IdP (user provisioning fails with confusing errors); header spoofing if the network boundary regresses (silent account takeover); session/logout divergence leaving valid local sessions after IdP logout. Each needs an alert and a documented response — IdP cert expiry in particular is the classic 2 a.m. page.

Ramp-up. Engineering: low-to-moderate — a competent Symfony/PHP developer reads the bundle in a day. The scarce skills are Shibboleth SP operations and federation metadata management, which usually sit with a network/identity team, not the app team. Secure that team's commitment before scoping, because it — not the package — determines the timeline.

Recommendation for decision. Do not adopt as a dependency on adoption signal alone; the 0/0/28.96 profile is disqualifying for a production auth path. Approve a two-day timeboxed source review plus SP feasibility spike. If the estate is Symfony and the version constraints hold, a small internal fork is defensible. If the estate is Laravel — as the brief implies — close it out and fund a native guard or SAML library instead.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel