etcpasswd/oauth-bundle
A Symfony bundle that adds OAuth2 authentication to your security firewall, supporting providers like GitHub and Facebook, with multiple providers configurable at once. You still supply your own user provider.
This is not a Laravel package — it is a Symfony2 bundle (circa 2011–2012), and that framing matters for the decision. The package predates Composer-native distribution (install instructions are git clone into vendor/bundles plus manual registerNamespaces), depends on Buzz, an HTTP client that has been abandoned, and is explicitly self-described as "still under development." Any decision it supports today is a reference decision, not an adoption decision.
What it can legitimately inform:
login_path and check_path are declared in security.yml and no controllers are written. That is the same separation of concerns you get today from HWIOAuthBundle, KnpUAuth2ClientBundle, or Symfony's native OAuth2 support — and the same reason Laravel's Socialite is thin and controller-light.It does not support a feature decision, a prioritization call, or a "should we use this" vote in its current form.
Consider it only in these narrow cases:
security_factories.xml + firewall config pattern is educational, and the config surface (auth_provider, client_id, client_secret, uid, scope, login_path, check_path, failure_path) is a clean checklist of the parameters any OAuth integration must expose.Look elsewhere — decisively — when any of the following is true:
laravel/socialite plus an OAuth2 client/generic-provider package for non-standard providers. Do not attempt to port this bundle.league/oauth2-client. All are Composer-installable, tested, and maintained.uid: email mapping.One-line summary: A historical Symfony2 OAuth login bundle that is unmaintained, undocumented beyond a README, unlisted in any dependency graph, and not applicable to our Laravel stack — we should not adopt it. We can, however, borrow its architectural pattern for free.
For executives: This is not a candidate for the build. It is a 2011–2012-era Symfony bundle published by an individual author, installed by manually cloning repositories and editing autoloader namespace files — a workflow that predates Composer. It has no stars, no dependents, no tests, and a hard dependency on an HTTP client that has been dead for years. It handles authentication, which is the single highest-consequence place to run abandoned code: a bug is a breach, not a defect. The cost of adopting it would be a permanent maintenance tax plus an uninsurable security exposure, in exchange for functionality we can obtain from maintained libraries at essentially zero cost. Recommendation: decline adoption; take the design idea, not the code.
For engineering: The bundle contributes one genuinely good idea — model OAuth as a security firewall with declarative login_path/check_path/failure_path, so no controllers are written. That is exactly what league/oauth2-client plus Symfony's OAuth2 support, or Laravel Socialite, gives us today with tests, Composer distribution, and a maintainer on the hook. Concretely: we lose nothing by skipping this package and building the login flow on a current, supported integration; we inherit a dead Buzz dependency and zero test coverage if we use it. If anyone wants the pattern as a study aid, the README is enough — we can read it without vendoring it.
Risk statement to carry forward: adoption would mean unmaintained auth code, no CVE response path, an EOL transitive HTTP client, and a namespace-loading model incompatible with anything we run. That is a "no" on technical merit, not on taste.
Suggested decision record: Status — rejected. Disposition — reference material for auth-layer design only. Next step — if social/SSO login is on the roadmap, scope a spike against Laravel Socialite (or league/oauth2-client if we are on Symfony) and estimate roughly one to two weeks for a multi-provider login flow with tests, which is the realistic cost of the "buy the maintained thing" path.
How can I help you explore Laravel packages today?