spomky-labs/oauth2-server-authorization-endpoint
Authorization endpoint implementation for the Spomky-Labs OAuth2 server. Handles incoming authorization requests, validates request parameters, and integrates with the OAuth2 server to issue authorization codes or return proper error responses.
Architecture fit. This is not a Laravel package in any meaningful sense — it is one component in the Spomky-Labs OAuth2 server stack. It ships no service provider, no facade, no config file, and no migrations. Architecturally it is a PSR-7/PSR-11-oriented HTTP endpoint library: it expects PSR-7 request/response objects, a PSR-11 container, and a set of storage interfaces defined by the spomky-labs/oauth2-server core that the integrator must implement (client registry, authorization code persistence, scope repository, session/consent state). It is a thin protocol-translation layer over a much larger, opinionated dependency graph.
Integration feasibility. Technically possible, operationally questionable. You would need to: bridge Laravel's Illuminate\Http\Request to PSR-7 (via symfony/psr-http-message-bridge + a PSR-7 implementation such as nyholm/psr7), register the endpoint's collaborators in the container, implement every storage interface against Eloquent, and hand-manage the authorization-code lifecycle. None of that is provided. The work is bounded but entirely bespoke, and every line of it becomes code your team owns.
Technical risk. The signals here are unambiguous: zero stars, zero dependents, a score of 0, and a library that belongs to a family the author has since stopped actively promoting. That means no security patch channel, no CVE responsiveness, no community triage, and no answerable StackOverflow questions. The concrete blockers I would expect to hit in a first spike:
composer install or trigger deprecation errors in transitive dependencies.response_mode, consent UX hooks, rotation semantics, and whether anything approximates OAuth 2.1 / PAR / DPoP. Anything missing is yours to build.Key questions to resolve before any commitment.
psr/* version bound, and does it resolve on our target runtime?league/oauth2-server or Laravel Passport on merit, or only on familiarity?Stack fit. Poor. Treat this as a third-party library to be wrapped, not a Laravel package to be installed. The realistic shape is: a single Laravel route → a controller that converts to PSR-7 → the Spomky endpoint → convert back to an Illuminate\Http\Response. Everything above and below that seam is custom.
Migration path. My recommendation is to not adopt this package, and if it is already present in a legacy tree, to isolate it behind an internal AuthorizationEndpoint interface with exactly one implementation so it can be swapped. The natural replacement is league/oauth2-server — it shares the PSR-7 endpoint model and the "bring your own storage" philosophy, so a wrapper built here transfers almost unchanged. Laravel Passport is the lower-effort option if the surrounding application is idiomatic Laravel. The durable asset is your storage adapter layer; the endpoint itself is disposable, which is precisely why a thin wrapper is the right investment.
Compatibility. Laravel's container satisfies PSR-11, so container bridging is mechanical. PSR-7 bridging via nyholm/psr7 plus the Symfony HTTP message bridge is well-trodden. The PHP version constraint is the realistic blocker, not the interfaces.
Sequencing.
If step 1 or 2 fails, stop. Do not "fix forward" into a fork of an abandoned OAuth2 core unless you have explicitly accepted that ownership.
Maintenance. Effectively unmaintained. The honest framing for stakeholders is that adopting this is adopting a fork: you inherit all future security maintenance from day one. Budget for that explicitly, or reject on that basis alone.
Support. No vendor, no active maintainer, no community. Incident response means your own engineers reading the OAuth2 RFCs and the library source at 2 a.m. That is a real staffing constraint, not a footnote.
Scaling. The endpoint layer itself is stateless and will not be your bottleneck. Scaling is governed by the storage layer you implement — authorization code TTL and cleanup, client lookup indexes, consent/session persistence, and the read/write pattern of the code exchange. Those are your design problems regardless of which library you pick, which further weakens the case for taking on this dependency specifically.
Failure modes. Ranked by likelihood and blast radius:
Ramp-up. The code volume is small, so the initial read is fast — but the ramp is deceptive. Engineers need genuine OAuth2 spec fluency plus familiarity with Spomky's interface conventions, and there is no tutorial, no community, and no reference implementation to lean on. Realistic estimate: one to two weeks before a mid-level engineer is productive, versus roughly two days for Passport.
Bottom line. Zero stars, zero dependents, and a score of 0 are the whole story here. This is a component of an abandoned ecosystem being evaluated for a security-critical role in a stack it was never designed for. The recommendation is to reject it and evaluate league/oauth2-server or Laravel Passport instead — unless there is a specific, documented constraint that only this library satisfies.
How can I help you explore Laravel packages today?