forci/login-bundle
ForciLoginBundle is a Symfony bundle that adds login and authentication handling to your application, packaging the configuration, routes, and services needed to wire up a sign-in flow with minimal setup. Part of the Forci package family.
Framework check before anything else. forci/login-bundle is a Symfony bundle, not a Laravel package. The -bundle suffix, Kernel registration flow, and security.yaml-driven configuration are Symfony artifacts. There is no ServiceProvider, no package auto-discovery entry, no publishable config or migrations, and no guard driver for Laravel's AuthManager. Laravel's session guard / Eloquent provider and Symfony's firewall / authenticator / token-storage stack are parallel abstractions with no seam between them.
Where to look first (as reference code, not a dependency):
DependencyInjection/ extension and bundle class — what is actually configurable.form_login, providers) — the real feature surface.composer.json — PHP/Symfony constraints and whether Doctrine is a hard dependency.Two legitimate starting paths:
config/bundles.php, wire a firewall and a user provider in security.yaml, point it at your login/logout routes. This is the only path where installation makes sense — and only if the license is cleared.composer require. Read the flow in a scratch branch, write down the auth requirements it surfaces (form login, remember-me, throttling, redirect handling, session fixation, multi-guard), then map each to first-party Laravel: Fortify (login/2FA/throttling), Breeze (scaffolding), Sanctum (API tokens), Passport (OAuth2), Socialite (providers).First use case that actually pays off: requirements extraction for your auth spec. It's a free checklist of what a login module owns, and it clarifies scope boundaries (authentication vs. authorization vs. MFA vs. SSO vs. account recovery) at zero integration cost.
Hard gate before any code enters your tree: the license is NOASSERTION. Legal must clear it in writing — do not treat "public on GitHub" as a grant to reuse.
Because there is no supported Laravel integration, the practical daily-use patterns are all reference, bridge, or fork workflows.
Pattern A — Reference implementation (recommended).
Pattern B — Native Symfony usage (only if the target is Symfony).
security.yaml: define a firewall, a form_login authenticator with check/login/logout routes, a user provider (Doctrine entity or custom), and success/failure redirect behavior.Pattern C — Fork and vendor (only if it's your own IP or rights are secured in writing).
Pattern D — Isolate as a service (last resort).
Do not attempt: booting Symfony Security inside a Laravel app (dual kernel, dual container, dual session semantics — a known anti-pattern), or writing a custom guard/provider bridge for an unmaintained component.
Requirement → Laravel mapping table to drive your spec:
| Bundle feature | Laravel first-party |
|---|---|
| Form login | Fortify / Breeze |
| Remember-me | Fortify remember_me |
| Login throttling | RateLimiter / Fortify limits |
| OAuth providers | Socialite |
| API tokens | Sanctum / Passport |
| Federated identity (OIDC) | Vetted OIDC client + firebase/php-jwt |
NOASSERTION means GitHub couldn't map the repo to a recognized SPDX identifier. For commercial distribution or SaaS, this blocks adoption and blocks code reuse — get verbatim terms and copyright ownership in writing first.^5/^6/^7) against your runtime before assuming fit; an uninspected transitive graph compounds supply-chain risk.security.yaml and authenticator overrides, not in config files you can vendor:publish.How can I help you explore Laravel packages today?