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

Manual Auth Bundle Laravel Package

ruwork/manual-auth-bundle

Symfony bundle for manually authenticating users through Symfony Security, simplifying programmatic login flows such as custom sign-in, impersonation, or session-based authentication without extra boilerplate.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The first thing a TPM must surface is a stack mismatch: ruwork/manual-auth-bundle is a Symfony bundle, not a Laravel package. The *-bundle suffix, the Ruvents/Ruwork origin (a Symfony-oriented shop), and the package's role all point to a Symfony Security integration — most likely a listener/authenticator that logs a user in without credentials (login-by-identifier, impersonation, or a developer-only auth shortcut). On a Laravel codebase this is not "low fit," it is a rebuild: the equivalent would be a custom guard plus middleware, roughly 50–150 lines using Laravel's Auth::login() / Auth::loginUsingId(). On a Symfony codebase the fit is genuinely good in concept — it plugs into the firewall/security layer where Symfony expects it — but the version fit is poor. Last release was 2018-05-06, which lands in the Symfony 3.4 / 4.0 era and PHP 7.1–7.2. Symfony 5.3 deprecated the Guard component and Symfony 6 removed it outright; if this bundle relies on Guard or the pre-5.3 AuthenticationProviderInterface, it will not boot on a current Symfony 6/7 application.

Integration feasibility. Low as-is, moderate as a fork. The practical paths are: (a) read the source and reimplement the ~100 lines natively; (b) fork and port to Symfony's authenticator system (AbstractAuthenticator / Passport / badges); or (c) use maintained platform features that already cover the same need — Symfony's switch_user firewall for impersonation, the login-link handler for passwordless flows, or a dev-only security: false firewall. For a Laravel team, only (c)-analogues or an in-house guard are viable; adopting the bundle itself is not.

Technical risk. This is a security-sensitive component by definition — its job is to bypass credential verification. The risks are asymmetric: a config drift or a missing environment gate turns it into an account-takeover vector in production. Compounding that, the package is archived, has 0 stars and 0 dependents, and has received no security advisories or dependency updates in eight years. There is no CVE feed watching it, no maintainer to patch it, and its transitive dependency constraints will conflict with modern symfony/security-bundle and PHP 8.2+.

Key questions. (1) What does it actually do — a route-based login endpoint, a programmatic service, or an impersonation helper? The README must be read before any decision. (2) Does it gate on environment, role, or an explicit config flag, and are the defaults safe? (3) Which Symfony/PHP versions does composer.json declare, and does it use Guard? (4) Is the underlying need dev-only convenience, support-staff impersonation, or a real production auth flow? Only the first two are defensible with an unmaintained package. (5) Who owns the fork if we take one?

Integration Approach

Stack fit. Symfony 3.4/4.x only, effectively. Treat any Laravel usage as a design-reference exercise, not a dependency. If the target application is on Symfony 6/7 or PHP 8.2+, assume a port is mandatory before the first commit.

Migration path. Three options, in TPM terms:

  1. Reimplement (recommended). Extract the behavior from the source, write it as a native authenticator (or Laravel guard), add tests, and delete the dependency. Cost: 2–5 engineer-days. Benefit: ownership, no archived dependency in the SBOM, and it will survive framework upgrades.
  2. Fork and vendor. Copy into a private repository, port to the current authenticator API, pin the version, and add a security test that asserts the mechanism is disabled outside non-production. Cost: 1–2 sprints including security review. Only justified if the bundle contains non-trivial logic beyond a simple login call — unlikely at this size.
  3. Adopt as-is. Only defensible for a legacy Symfony 3.4/4.4 application that is already frozen and not scheduled for upgrade. Even then, require a written exception and a production-disable assertion.

Compatibility. Verify composer.json constraints before anything else; expect php: ^7.1, symfony/symfony: ^3.4|^4.0. Modern Symfony and PHP 8.x will fail resolution. There is no compatibility matrix to rely on beyond that inference.

Sequencing. Week 1: source read and behavior spike (1–2 days, one engineer). Week 1–2: decision gate — reimplement, fork, or drop in favor of switch_user/login-link. Week 2–4: implement, test, and security-review; add a regression test that proves the mechanism cannot activate in production. Do not sequence this behind a framework upgrade; if an upgrade is coming, this package is a blocker to clear first.

Operational Impact

Maintenance. Entirely on the consuming team. Zero upstream commits since 2018, archived status means no future patches, and no one will issue a security advisory if a flaw is found. Treat it as internal code from day one — because functionally, it is.

Support. No maintainer triage, no issue backlog, no documentation beyond a likely-thin README. Institutional knowledge must be captured in an ADR: what it does, why it exists, how it is disabled in production, and who reviews it. Otherwise it becomes the kind of dependency that outlives the engineer who added it and is discovered during an incident.

Scaling. Negligible. The runtime footprint is a request listener or a single service call — no throughput, memory, or data-volume concerns. The real scaling risk is governance: one unmaintained security bypass propagating across every service that copies the pattern.

Failure modes. The severe one is accidental enablement in production — misconfigured environment variable, a route left exposed, or a firewall rule copied from a dev config, yielding account takeover. Secondary modes are dependency rot (Composer resolution failures on the next update), fatal errors on framework upgrade when Guard-era interfaces are removed, and silent behavioral drift if the bundle is forked and modified without tests. None of these announce themselves; they surface during upgrades or incidents.

Ramp-up. Small — an engineer familiar with Symfony security internals will read the whole package in under a day. The cost is not comprehension, it is the security review and the decision record. Budget roughly 0.5 day to understand, 2–5 days to reimplement or port with tests.

On the 5.87 opportunity score. That figure almost certainly reflects conceptual utility — "passwordless/manual auth is a real need" — rather than this artifact's health. Zero stars, zero dependents, archived, and eight years stale should dominate the decision. Recommendation: do not adopt as a dependency; mine it for the pattern and implement natively, or use maintained framework features that already solve the same problem.

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.
laravel2580/idehelpers
delatbabel/viewpages
anavel/gettext
muhamadrezaar/highcharts
delatbabel/keylists
frankkessler/salesforce-laravel-oauth2-rest
anavel/foundation
wdmtech/enviricons
eii/laravel-captcha
muka/shape-reader
tdt/json
refinery29/php-cs-fixer-config
hotmeteor/eco-env
mvaliolahi/hydrate
wearede/tbcpay-php
parsnick/steak
thibaud-dauce/mattermost-php
multilinguals/apollo-client
antaresbr/collection
kr0lik/phpstan-rules