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

Authentication Guard Bundle Laravel Package

metaclass-nl/authentication-guard-bundle

Symfony bundle for integrating guard-based authentication into your application. It helps wire custom authentication guards into Symfony Security so you can protect routes and control how users are authenticated, with straightforward configuration and reusable guard support.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: fundamental mismatch. This is not a Laravel package — it is a Symfony 2 bundle (MetaclassAuthenticationGuardBundle) built against the Symfony Security component's authentication provider/guard pipeline. Laravel's authentication stack (Illuminate\Auth\Guard, SessionGuard, RequestGuard, middleware-based throttling) shares no contracts, interfaces, or extension points with it. There is no adapter layer, no service provider, and no Laravel-facing facade. The concept — tracking failed authentication attempts and blocking brute-force/dictionary attacks — is portable; the code is not. Treat any claim of "Laravel/PHP package" fit as a categorization error in the source inventory.

Integration feasibility: near-zero as a dependency, moderate as a reference. Installing it into a Laravel application would pull Symfony 2-era components (symfony/security, symfony/http-kernel, symfony/dependency-injection) into a dependency tree that already pins illuminate/* and modern symfony/* transitive packages via laravel/framework. Composer will either refuse to resolve or force downgrades across the framework — unacceptable risk for a security-critical path. Realistically the only viable use is reading the source to extract the attempt-counting and lockout heuristic, then reimplementing it against Laravel's RateLimiter and a cache/DB backing store.

Technical risk: high, and concentrated in the worst possible domain. The repository is archived, last released 2017-09-19, with 12 stars and zero dependents. Symfony 2 reached end of life in November 2018, so the underlying framework receives no security patches; the package itself has had no CVE triage, no PHP 8 compatibility work, and no maintainer. Authentication throttling is a security control, not a convenience utility — adopting unmaintained code here imports supply-chain and correctness risk into the exact surface attackers probe. Vendor risk score (0.105) is consistent with this: effectively a dead artifact.

Key questions for the requester:

  1. Is the actual objective brute-force protection, or reuse of a specific lockout policy (thresholds, windows, escalation)?
  2. Is there a legacy Symfony 2 application in the estate this was sourced for — i.e., is the Laravel framing simply wrong?
  3. What is the threat model: credential stuffing across many accounts, targeted password guessing, or both? These need different countermeasures.
  4. Is there a persistence substrate available (Redis, shared cache) or is this per-node only?
  5. Who owns the fork if we vendor it, and what is the patch SLA for a security library with no upstream?

Integration Approach

Stack fit: do not install. Reimplement. For a Laravel target, the idiomatic equivalent is a combination of RateLimiter in a login controller or a dedicated ThrottleLoginAttempts middleware, backed by the cache store, plus optional IP/account-keyed counters and a lockout table for auditability. First-party options — Laravel Fortify's built-in login throttling, or laravel/throttle — already cover the common case and are maintained. The bundle's contribution is essentially a policy shape, not novel mechanism.

Migration path (concept extraction):

  1. Read the bundle's guard implementation and document its counting rules: key derivation (username vs. IP vs. combination), window length, attempt threshold, lockout duration, reset semantics on success.
  2. Map each rule onto Laravel primitives — RateLimiter::for('login', ...), Cache::increment, or a login_attempts table.
  3. Port nothing else. Do not attempt to bridge Symfony's DI container or security firewall config into Laravel's config/auth.php; the translation cost exceeds a clean reimplementation by an order of magnitude.
  4. If a Symfony 2 application genuinely exists, the correct move is a scoped audit of that app, not adoption of this bundle into anything new.

Compatibility: PHP version constraints from 2017 will likely block PHP 8.x outright; Symfony 2 components conflict with Laravel 9+/10+/11+ constraints. Even composer require --ignore-platform-reqs produces an untestable, unsupported state.

Sequencing: Confirm the target framework and threat model first (day 1). If Laravel is confirmed, close out the package evaluation as "reference only" and produce a one-page policy spec plus a middleware ticket. If Symfony 2 is the real target, escalate to a modernization decision — the bundle does not fix the underlying EOL problem.

Operational Impact

Maintenance: Effectively infinite relative to value. Archived with no maintainer means any bug, CVE, or PHP incompatibility is yours to fix. Forking a 2017 Symfony bundle to run in a modern Laravel context is a rewrite, not a maintenance transfer — budget it as greenfield work with a misleading provenance.

Support: None. No issue triage, no release cadence, no security advisory channel. For a control that sits directly in the login path, absence of a disclosure channel is disqualifying on its own.

Scaling: The design pattern (per-attempt counter in shared storage) scales adequately if the counters live in Redis rather than per-node memory; per-node counters silently under-count behind a load balancer, weakening the control exactly when traffic is highest. Any reimplementation must key counters in shared state and account for multi-region drift.

Failure modes to design against:

  • Lockout as denial of service — account-keyed lockouts let an attacker lock out arbitrary users. Prefer IP+account keys with progressive delays over hard lockouts, or require proof-of-work/CAPTCHA escalation.
  • Counter store outage — decide fail-open vs. fail-closed explicitly; fail-closed on Redis loss takes down login for everyone.
  • Proxy/IP misconfiguration — trust X-Forwarded-For only from known proxies, or IP-keyed throttling collapses to a single key.
  • Distributed counter drift — cache eviction under memory pressure resets windows; size the keyspace and TTL deliberately.
  • Credential stuffing evasion — per-account throttling misses distributed low-and-slow attacks across many accounts; pair with device/IP reputation and breached-password checks.

Ramp-up: Trivial for a Laravel engineer to reimplement the policy (half a day to a day including tests); the effort is entirely in getting the policy right, not in the code. There is no ramp-up cost for the package itself because the package should not be adopted.

Recommendation: Reject as a dependency; retain only as a design reference. Record the framework mismatch in the package inventory and correct the "Laravel" classification to prevent a repeat evaluation.

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib