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 Server Bundle Laravel Package

mapado/oauth-server-bundle

Mapado OAuthServerBundle integrates an OAuth2 authorization server into Symfony applications, providing endpoints, storage entities, grant handlers, and security integration for issuing, refreshing, and validating access tokens.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for identity infrastructure. This package is the "build/self-host" option for OAuth2 token issuance inside your own PHP app. The decision it forces is whether owning an authorization server — its security patching, on-call exposure, and upgrade treadmill — is worth avoiding a managed IdP (Auth0, Okta) or a free self-hosted one (Keycloak). Auth is a one-way door; a token bug is a breach, not a defect.
  • Opening the product to third parties. The concrete roadmap item it enables is partner/machine-to-machine API access: client registration, authorization-code and refresh grants, scoped access tokens. That is a capability unlock ("let partners integrate with our API"), not a standalone feature.
  • SSO across first-party properties. If the org runs multiple apps, a central OAuth2 server is the mechanism for single sign-on — a support-cost and churn-reduction decision, not a user-facing feature.
  • Sustaining, not modernizing, the auth stack. With 0 stars, 0 dependents, and a fork provenance, the only defensible decision this supports is "unblock a PHP/Symfony upgrade with the smallest possible diff." It is a maintenance bridge with a dated exit, not a platform choice.
  • Stack-fit correction — relevant if your product is Laravel. This is a Symfony bundle built on the retired bshaffer/oauth2-server-php lineage. It will not drop into a Laravel app; there is no adapter layer, and the protocol core ships coupled to Symfony's container, routing, and security firewall. For Laravel the decision is Laravel Passport (full OAuth2 server) or Sanctum (first-party SPA/mobile tokens) — both first-party, maintained, and free.

When to Consider This Package

Consider it only if all of the following hold:

  • The application is Symfony, not Laravel, and already consumes FOSOAuthServerBundle semantics (routes, Client/AccessToken entities, firewall integration).
  • The need is a narrow compatibility patch (PHP 8.x / newer-Symfony fix) that upstream has not shipped, and someone on the team can own that diff.
  • You are willing to own security patching indefinitely — a 0-star, 0-dependent fork has no disclosure pipeline, no community pressure, and no realistic path to an upstream fix.
  • Self-hosting auth is a hard requirement (data residency, air-gapped deployment, contractual ban on third-party IdPs).
  • Migration cost genuinely exceeds maintenance cost, and there is a funded, dated plan to move off it.

Look elsewhere if any of these are true:

  • Laravel. Use Passport or Sanctum — different framework, different security model. Non-negotiable.
  • Greenfield or a rewrite. Use league/oauth2-server with trikoder/oauth2-server-bundle on Symfony, or Symfony's native OAuth2 support in recent Security releases. The bshaffer line is effectively end-of-life.
  • You need OpenID Connect. This is OAuth2 authorization only; OIDC (ID tokens, discovery, userinfo) is a separate, larger commitment.
  • Compliance or procurement requires a supported vendor. An unmaintained fork will not survive SOC 2 or a pen-test without a named internal owner on record.
  • Buy is affordable. Keycloak (free, self-hosted) or a managed IdP removes an entire incident class for a predictable line item.

Treat the 0-star / 0-dependent signal as a supply-chain risk indicator, not a quality verdict: no one outside the originating org has reviewed or exercised this code, and composer audit will not protect you.

How to Pitch It (Stakeholders)

One-liner: This is a maintenance fork of a retired Symfony OAuth2 server bundle — a time-boxed bridge, not a platform decision, and out of scope for a Laravel product.

For executives: We are not adopting a new identity provider. We are deciding whether to keep patching an aging in-house auth component or fund a move to a supported one. The fork carries real ownership cost — security patching, upgrade work, an unmaintained dependency in our audit trail — with no vendor or community behind it. My recommendation: approve only as a time-boxed bridge with a funded exit plan, or skip it and move to Keycloak / League OAuth2 now. Auth is a one-way door; a token-issuance bug is a breach, not a bug.

For engineering: Assume you own this code outright. If the fork clears a specific PHP or Symfony upgrade blocker, vendor it, document the diff against upstream, pin the commit, and open a removal ticket. Do not extend it — every feature built on the bshaffer lineage raises the cost of the eventual migration. If the product is Laravel, this is out of scope: use Passport for OAuth2 server needs, Sanctum for first-party tokens, and put the sprint you would have spent proving the Symfony bundle doesn't fit into shipping the Passport integration instead.

Success criteria if adopted: a named internal owner, a documented patch set with a diff audit, a quarterly review against upstream, and a dated migration ticket. Absent those four, the correct decision is no.

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.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin