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

Oauth Bundle Laravel Package

rz/oauth-bundle

A Laravel package that bundles OAuth authentication support, helping you wire up OAuth providers and authorization flows in your PHP application with less boilerplate. Check the repository for supported providers, setup steps, and configuration details.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: effectively none for a Laravel stack. rz/oauth-bundle is a Symfony bundle, not a Laravel package. Its sole purpose is to extend HWIOAuthBundle (Symfony firewall-level OAuth resource owners) to integrate with RzUserBundle (a user/registration bundle). For a Laravel codebase, this does not slot into the architecture at all — it depends on Symfony's DI container, security firewall, bundle registration, and event system, none of which exist in Laravel. Adopting it in a Laravel project would require an adapter layer that costs more than reimplementing the equivalent logic in Laravel Socialite.

Integration feasibility: conditional at best, and only for legacy Symfony. Feasibility is entirely determined by whether the target application already runs the exact matching stack (HWIOAuthBundle, FOSUserBundle-era components, RzUserBundle, and a Symfony 2/3-era minor version). In that narrow case it can be evaluated as a temporary compatibility shim. Anywhere else, feasibility is zero.

Technical risk: high.

  • Archived repository, 0 stars, 0 dependents. No security patches, no compatibility updates, no issue triage, no maintainer to escalate to. For an authentication boundary this is a category-level disqualifier, not a style concern.
  • Transitive version lock. It pins against hwi/oauth-bundle and RzUserBundle. Both parent packages are themselves effectively end-of-life (HWIOAuthBundle is superseded by Symfony's authenticator system and league/oauth2-client; FOSUserBundle is deprecated). Upgrading Symfony will force a simultaneous exit from this package and its parents.
  • Security-critical surface. OAuth flow, token handling, and identity mapping are a security boundary. An unmaintained bridge into that boundary has no remediation path when a CVE lands.
  • No standalone behavior. Installed without a configured HWIOAuthBundle firewall and RzUserBundle, it fails with "service not found" errors that misdirect debugging toward bundle registration rather than the real missing firewall config key.

Key questions a TPM must answer before any decision:

  • Is this already in production, or only under evaluation? (If only evaluation: stop here.)
  • What PHP, Symfony, HWIOAuthBundle, and RzUserBundle versions are pinned, and are they compatible with the next planned platform upgrade?
  • Is the package already required transitively by another dependency, or would it be a direct add?
  • Who owns security triage and patching if adopted — and is there a funded removal date?
  • What is the tested exit path to Laravel Socialite (Laravel) or Symfony Security authenticators + League OAuth2 client (Symfony)?
  • Are there license or compliance blockers? (An archived zero-star package is not a compliance-approved dependency by default.)

Verdict: treat "archived + zero dependents" as a hard stop for new adoption.

Integration Approach

Stack fit: poor for Laravel, conditional for legacy Symfony. A TPM should not position this as a Laravel integration package in any roadmap, planning document, or vendor comparison. The correct framing is: this is a legacy Symfony shim that is relevant only as read-only reference material during a migration off it.

Recommended approach by context:

  • New Laravel or greenfield PHP work — reject. Use Laravel Socialite (ships with the framework, maintained) or a maintained generic OAuth2 client. For Symfony greenfield, use Symfony Security authenticators with league/oauth2-client or KnpUOAuth2ClientBundle.
  • Existing Laravel codebase that inherited Symfony-era auth concepts — reject. The equivalent patterns port cleanly to Socialite in ~40 lines (see below); there is nothing to gain from the shim.
  • Existing legacy Symfony app with RzUserBundle already in the tree — read, then exit. Inventory the pinned versions, confirm whether the bundle is required transitively, fork or vendor it under explicit internal ownership with a security review, and isolate it behind an application-level auth adapter so replacement is possible. Do not expose bundle-specific types or configuration to domain code.

Patterns worth lifting (the actual migration value):

  1. Identity as a lookup key, never as identity. findByProviderAndId() → else match by verified email → else create. Back this with an oauth_accounts table keyed by (provider, provider_user_id) joined to users.id. This is the one genuinely custom piece in the bundle; everything else is glue.
  2. Separate login vs. connect flows. The bundle distinguishes authenticating an existing session from linking to a logged-in user. In Laravel this is two route pairs: /auth/{provider}/redirect + /callback for login, and an auth-guarded /settings/connections/{provider}/link for connect. Never allow a connect callback to create-and-login a user.
  3. Stateless flows for APIs/mobile. Socialite::driver($p)->stateless() mirrors HWIOAuthBundle's stateless resource owners. Get state/cookie handling right up front or spend a day debugging InvalidStateException.
  4. Custom providers behind an interface. Socialite::extend() is the analogue of registering a custom resource owner. Keep these under app/Socialite/, register in a service provider, and bind an OAuthUserResolver interface in the container — that is the extension point the original bundle should have offered.
  5. Keep callback controllers thin. Resolve identity in an action class, then hand off to the normal login path so guards, session regeneration, and 2FA hooks still fire.

Migration path and sequencing:

  • Laravel: Laravel Socialite, full stop.
  • Symfony: target Symfony's native authenticator system with a maintained OAuth2 client; remove HWIOAuthBundle/RzUserBundle coupling over time.
  • Where legacy constraints force it, sequence as: dependency audit (pinned versions, transitive footprint) → security review and license check → non-production spike → adapter isolation layer → production pilot with rollback → documented exit plan with an owner and a removal date.
  • Do not sequence this package into a broader platform migration unless that migration explicitly preserves the legacy Symfony auth stack. Otherwise it is a blocker, not a dependency.

Compatibility: effectively frozen at the time of archival. Validate against the exact pinned PHP/Symfony versions before any commitment, and assume the next framework upgrade breaks it.

Operational Impact

Maintenance burden: high, and entirely internal. With the repo archived and no visible community, all security triage, dependency updates, and compatibility fixes fall to whoever adopts it. Budget for a named internal owner, a security review, rollback procedures, and a funded replacement roadmap before allowing any production dependency. This is a liability line item in the tech-debt register, not a normal dependency.

Support model: none external. There is no upstream to file issues against, no searchable issue history of substance, and no second opinion when it breaks. Internally, that means treating it as first-party code — because functionally it is.

Scaling considerations: runtime footprint is not the concern; auth-flow reliability is. The scaling risks are stale OAuth provider integrations (providers change endpoints and token semantics on their own schedule), inability to patch quickly, and configuration drift between RzUserBundle and the OAuth bundle as either side is touched.

Failure modes to plan for:

  • Breakage from PHP/Symfony/HWIOAuthBundle upgrades, arriving as one simultaneous migration off the package and its parents rather than three separate ones.
  • Stale provider integrations and token-handling behavior diverging from current provider requirements.
  • Security vulnerabilities with no upstream remediation path.
  • Configuration drift between RzUserBundle and the OAuth bundle producing auth failures that look like user-model bugs.
  • Authentication outages during dependency or provider changes, with no vendor to escalate to.
  • Install-without-configuration failures ("service not found") that misdirect diagnosis toward bundle registration.

Ramp-up: moderate for engineers experienced with legacy Symfony bundles and the HWIOAuthBundle firewall model; high for teams standardized on Laravel, who will spend the time learning a stack and a pattern they will then discard. Plan onboarding as migration onboarding, not package onboarding — the useful output is understanding the identity-mapping concept well enough to rebuild it on a supported foundation.

Overall recommendation: do not adopt for new work. If it is already present, register it as a known liability with an owner and a removal date, and scope the remediation as "decouple identity from RzUserBundle onto a maintained OAuth client or a managed identity provider" — not as "swap a bundle." The strategic question is not whether this package is viable (it is not) but whether the organization wants to own identity plumbing at all. If yes, own it on a maintained foundation. If no, that is a buy decision for a managed IdP. This package is a step toward neither outcome.

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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package