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

Sso Sp Bundle Laravel Package

korotovsky/sso-sp-bundle

Symfony bundle that adds SAML 2.0 Service Provider support, letting your application authenticate users through an external identity provider. Configure metadata, routes, and user mapping to integrate corporate or cloud IdPs with minimal setup.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

A TPM should treat this package as a requirements document, not a dependency. The description positions it as a Laravel SSO Service Provider with drop-in login/callback/logout routes, guard integration, .env-driven IdP config, and automatic user provisioning. That is exactly the capability shape an enterprise-readiness epic needs. But the underlying repository is a Symfony 2 bundle (SingleSignOnServiceProviderBundle), not a Laravel package: it registers via a Symfony kernel/DI extension and hooks the security firewall through event listeners. The gap between the marketing description and the artifact is the single most important finding for a TPM, because it means any roadmap item built on "we can just install this" is built on an unverified claim.

Architecture fit is poor as a dependency and good as a spec. As a dependency, fit fails three ways: lifecycle (Symfony 2 is EOL since 2018; Composer constraints will collide with a modern PHP 8 / Symfony 6–7 Laravel runtime), paradigm (Symfony firewall/listener vs. Laravel guard/middleware — auth state, session binding, and provisioning all need rewriting), and ownership (zero stars, zero dependents, no release cadence means no upstream to absorb fixes). As a spec, fit is strong: the listed surfaces — configurable routes and middleware, .env credentials, mapped profile fields, native guard/session integration — are a credible acceptance-criteria checklist for our own SP work.

Integration feasibility is low, and the decision is cheap to make. There is no realistic "composer require and configure" path on Laravel. The viable options are (a) read it as a reference for SP flow mechanics and build framework-native, or (b) lift its protocol layer — but only if whatever SAML toolkit it wraps is itself healthy. That second condition is the real question, because the bundle is a thin orchestration shell; the security-critical parsing lives below it.

Technical risk is elevated and concentrated in the auth path. XML signature validation, assertion replay protection, and certificate handling are where SAML implementations fail catastrophically (signature wrapping, XXE, unsigned-assertion acceptance). A single-maintainer, decade-stale bundle with no dependents has no CVE response path and no community scrutiny of its validation logic. The scoring signals are also contradictory — zero stars and zero dependents against a 17.34 opportunity sub-score — which a TPM should read as "no evidence," not "hidden value."

Key questions a TPM must get answered before funding engineering:

  • Is the artifact genuinely Laravel, or is the description aspirational? (Resolve by inspecting the repo, not the README.)
  • Which SAML toolkit does it wrap (OneLogin php-saml, LightSAML, xmlseclibs), and what is that library's health? That determines whether any protocol layer is salvageable.
  • Does it validate signatures on assertion, response, or both, and enforce Audience/Recipient/InResponseTo?
  • Does our target IdP support OIDC? If yes, the entire XML-signature risk class disappears and this evaluation collapses into a cheaper decision.
  • What is the actual requirement — one named enterprise IdP, or multi-IdP with SCIM and SLO? Scope drives library vs. gateway vs. build.

Integration Approach

Frame the decision as three delivery models, not one integration. A TPM's leverage here is sequencing the cheapest viable option first and using this package as the reference only if the first two are ruled out.

  1. OIDC downgrade. If the IdP speaks OpenID Connect, use a maintained Laravel OIDC/socialite-style integration. No XML signature surface, framework-native, lowest cost and risk. Evaluate this first; it may close the epic in days.
  2. Gateway termination. Stand up a SAML-terminating proxy (Keycloak, Authentik, or the enterprise's existing gateway) that federates with the IdP over SAML and hands Laravel a clean OIDC token or trusted header. Confines the risky parsing to a maintained, security-reviewed product and keeps application code framework-native. Best option for SAML-only IdPs or multi-SP topologies.
  3. In-house SP package. Only if 1 and 2 are rejected. Use this bundle as a design reference and build on a maintained toolkit behind an internal auth abstraction, with a security review of the validation path. Budget for the permanent-ownership cost in the next section.

Stack fit should be the gating criterion in the decision memo. On Laravel, option 3 is the only path that touches this package, and it converts the package from "dependency" into "reading material plus internal IP." That reframing is what keeps the roadmap honest: we are not adopting a community bundle, we are funding a small, owned integration.

Migration path, if option 3 is chosen, is fork-and-own rather than upgrade. There is no release cadence to track, so vendor and pin any extracted code as internal IP with an assigned owner. Expect PSR-0→PSR-4 namespace modernization, replacement of Symfony 2 DI config with Laravel container bindings, and rewriting the firewall listener as middleware plus a custom guard. Do not plan on upstream fixes.

Compatibility work is front-loaded and must be validated against a live IdP. Metadata parsing, certificate rotation, attribute mapping, and session binding all need re-verification — the bundle's assumptions were formed against IdP software from roughly 2014 and may not hold. The description's claimed features (auto user lookup/creation, configurable redirects, middleware) are the acceptance checklist for that spike.

Recommended sequencing:

  • Week 1: Resolve the Laravel-vs-Symfony question, confirm IdP protocol support (OIDC availability), and lock the requirement set (SP-initiated? SLO? multi-IdP? JIT provisioning?).
  • Week 2: If OIDC is available, stop and scope that. Otherwise price gateway options and get an infra cost estimate.
  • Weeks 3–4: Only if both are rejected, run a timeboxed spike against a real IdP sandbox, extracting this bundle's validation logic as reference, and produce a build-vs-buy recommendation with security review attached.

Operational Impact

Maintenance is the dominant cost and it is permanent. An unmaintained bundle with zero dependents has essentially no bus factor: no upstream to patch a broken signature check, no release to absorb a PHP minor-version regression, no triaged issue tracker. Every PHP upgrade, IdP metadata change, and certificate rotation becomes our incident. A TPM should price this standing tax explicitly in the business case rather than let the inheriting team absorb it silently — that line item is what makes the gateway option look cheap.

Support posture is self-support. No vendor, no SLA, no CVE feed. For an authentication component, that mandates our own security review at adoption and a re-review cadence (at minimum annually and on any IdP-side change). This is the strongest argument for option 2: it converts an unbounded internal support obligation into a product with a maintainer and a disclosure process.

Scaling is modest in throughput but broad in configuration surface. SP validation is session-bound and per-request: signature verification is CPU-costly but low-volume relative to normal traffic, so horizontal scaling is fine provided session state lives in a shared backend (Redis) and validation results are never cached incorrectly. The real scaling risk is breadth — each added IdP or SP multiplies metadata, certificate, and attribute-mapping config that someone must own. Budget ownership headcount, not QPS.

Failure modes to design for, in rough likelihood order:

  • Certificate expiry/rotation. The classic SSO outage — IdP cert rolls, metadata is stale, all logins fail at once. Needs a monitored expiry alert and a rehearsed runbook.
  • Clock skew. Small drift breaks NotBefore/NotOnOrAfter validation and yields intermittent, opaque login failures. Needs NTP discipline and a specific, logged error surface.
  • Metadata drift. Endpoint or attribute changes silently break mapping, producing users who authenticate fine but land with wrong or missing roles — a subtler and worse bug than an outage.
  • Logout inconsistency. SLO is unreliable across implementations; if we advertise it and it half-works, sessions outlive IdP logout. Prefer short session lifetimes over trusting SLO.
  • Validation regressions after any change. Every SAML-layer change needs a negative-path test suite (unsigned assertion, replayed assertion, wrong audience) in CI, because the failure mode is silent acceptance, not a crash.

Ramp-up requires a specialist and should be planned as such. SAML debugging is a genuine skill; engineers unfamiliar with it lose days to opaque signature and base64/XML encoding errors. Staff the spike with someone who has shipped SAML before, and capture the debugging runbook as a deliverable — it is the artifact that makes the integration supportable after the spike team moves on.

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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource