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

Laravel4 Saml2 Laravel Package

pitbulk/laravel4-saml2

Laravel 4 SAML2 integration built on the OneLogin php-saml toolkit. Adds SAML 2.0 service-provider authentication to Laravel apps, handling SSO login, metadata, assertions, and configuration for connecting to identity providers.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. pitbulk/laravel4-saml2 is a thin adapter, not a SAML implementation. It registers a Laravel 4 service provider and routes, exposes configuration, and delegates assertion parsing, signature validation, and protocol handling to the OneLogin php-saml toolkit. That separation is architecturally sound in principle: the security-critical logic is not hand-rolled by the wrapper author. The flip side is that the package's own value is limited to Laravel 4 glue — controllers, config publishing, views, and session hand-off — which is the part easiest to reproduce in-house if the dependency turns hostile. It covers SP-initiated SSO only; treat IdP-initiated flows, single logout, encrypted assertions, and attribute-driven provisioning as unproven until tested against your IdP.

Integration feasibility. Feasible only inside a genuinely legacy Laravel 4 estate. The package is pinned to a 2016-era PHP and php-saml generation, so Composer resolution against anything modern will fail. A working integration requires: IdP metadata and signing certificate, SP entity ID and ACS URL published to the IdP, attribute mapping from SAML NameID/attributes onto Laravel's auth and user tables, and a decision on just-in-time provisioning versus pre-provisioned accounts. Budget real time for the non-code work — IdP registration, certificate exchange, and test-tenant coordination — which typically dominates the effort.

Technical risk. This is the dominant concern and should be framed to stakeholders as such. Laravel 4 and its PHP runtime have been end-of-life for roughly a decade; the package itself has not shipped since November 2016. The underlying php-saml toolkit has accumulated security advisories since that release, including signature-validation weaknesses — exactly the class of defect that undermines the entire point of SAML. You are therefore adopting an unpatched authentication component on an unpatched framework. Secondary risks: single maintainer, 2 stars, no community to triage issues, and a changelog thin enough ("fix several issues found on 0.0.4") that you cannot assess upgrade deltas. Version 0.0.5 signals pre-1.0 API instability even by the author's own framing.

Key questions. What exactly is the host application's Laravel and PHP version, and is there a funded path off Laravel 4? Which IdP, and does it require logout, encrypted assertions, or SHA-256 (older toolkits default to SHA-1)? Will we fork and patch php-saml internally, and who owns that? Can the SAML boundary be moved out of the application entirely — a reverse proxy, an OIDC-bridging IdP, or a managed identity service — so the legacy app consumes headers or a simple token instead? What is the compensating control if a signature-validation flaw is found and nobody upstream will fix it?

Integration Approach

Stack fit. Binary. If the target is a Laravel 4 application that must keep running, the package fits the framework's idioms (service provider, config publish, routes, Blade views) and is the shortest path to SSO. If the target is Laravel 8+, this package is not a candidate at all — use a maintained SAML or OIDC package, or better, terminate SAML at an identity proxy and keep the Laravel app on a simple trust mechanism.

Migration path. Two migrations matter and should be planned together. First, users moving from local credentials or LDAP to federated SSO — this needs a coexistence period with local login available, plus a rule for matching incoming assertions to existing accounts (email, employee ID, NameID) to avoid duplicate-account explosions. Second, the exit path from this package: keep all package calls behind an internal SamlAuthenticator contract so the SAML binding can be swapped for a proxy or a modern library without touching controllers.

Compatibility. Verify before committing: PHP version and OpenSSL extension, the exact php-saml version resolved, signing algorithm support (SHA-1 versus SHA-256), HTTP-Redirect versus HTTP-POST bindings, metadata format acceptance, and whether the package's session handling survives your session driver (database/Redis versus file). Confirm the library enforces audience restriction, InResponseTo correlation, and assertion replay protection — if any are absent, that is a blocking finding.

Sequencing. (1) Time-boxed spike against the IdP's test tenant, proving login, attribute mapping, and logout. (2) Security review of the resolved dependency tree. (3) Decide fork-and-patch ownership, or pivot to an identity proxy. (4) Attribute and provisioning design signed off by the identity team. (5) Canary cohort with local login fallback. (6) Full cutover only after certificate-rotation and metadata-refresh runbooks exist.

Operational Impact

Maintenance. You inherit it. Assume zero upstream fixes and plan a private fork with a named owner, a pinned php-saml version, and a documented patch process. Without that commitment, the package is a latent outage.

Support. No vendor, no meaningful community, one maintainer last active in 2016. Escalation is internal only. This should be surfaced explicitly as an accepted risk rather than absorbed silently by the team.

Scaling. SAML assertion validation is CPU-bound but infrequent — per-login, not per-request — so throughput is unlikely to be the constraint. The real scaling issues are operational: cache IdP metadata and certificates rather than fetching per login, ensure consistent clock sources across nodes (skew breaks validation), and use a shared session store so logout and session expiry behave uniformly behind a load balancer.

Failure modes. Expired or rotated IdP signing certificate (the classic 3 a.m. page); metadata drift after an IdP-side change; clock skew rejection; assertion parsing failure on an unexpected attribute; replay or unsolicited-response handling gaps; and silent breakage after an unplanned PHP or extension upgrade on the host. Each needs an alert and a runbook, and the certificate-expiry case needs a calendar-driven check, not monitoring alone.

Ramp-up. High cost for low code volume. Engineers need working knowledge of SAML bindings, assertion structure, signature and audience validation, plus fluency in dated Laravel 4 conventions and php-saml internals. Assume weeks, not days, and designate a single SAML-literate owner — distributed ownership of an unmaintained authentication dependency is how credentials-validation bugs survive review.

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