janakdom/jwt-refresh-token-bundle
A Symfony bundle for issuing and managing JWT refresh tokens, letting API clients renew expired access tokens securely without re-entering credentials. Supports token persistence and rotation for authentication flows.
Framework fit is the first gate — and the framing here is wrong. Despite the "Laravel/PHP" label, this is a Symfony bundle: it depends on Symfony's kernel, DI container, security firewalls, and (by default) Doctrine, and it extends the lexik/jwt-authentication-bundle pattern. It does not drop into a Laravel app. On a Laravel estate, evaluate laravel/sanctum (first-party, token abilities, no JWT ceremony) or laravel/passport (only if OAuth2 is genuinely required) first and stop.
Adoption signals are disqualifying as-is. Zero stars, zero dependents, a composite score of 0, and a name that strongly suggests a re-publish of the well-established gesdinet/jwt-refresh-token-bundle. For code that sits directly on your authentication path, a single-maintainer artifact with no observable security-disclosure process is a supply-chain and bus-factor risk you cannot put on a roadmap. Treat this repository as a pointer, not a dependency: evaluate the upstream original, check its release cadence, CVE history, and Symfony version support.
Consider the category (rotating refresh tokens over JWT) when: you have a Symfony service already using Lexik, mobile/SPA clients, sessions that must outlive the access-token TTL, and a real need for revocation.
Look elsewhere when:
league/oauth2-server, or better, delegate to a managed IdP (Auth0, Cognito, Keycloak, WorkOS) and stop owning auth.Bottom line for the roadmap: adopt the pattern, not this artifact.
To executives: Authentication is a recurring tax on every client we ship. Refresh tokens let us shorten the blast radius of a stolen credential while increasing how long users stay signed in — better security and better retention from a single change. Building it ourselves costs weeks of engineering plus permanent security-review overhead, so the right move is either a maintained open-source implementation or a managed identity provider, not custom code. I'm asking for a funded two-day spike, not a dependency.
To engineering: This specific package is a Symfony bundle with no adoption and no downstream dependents, and it looks like a re-publish of gesdinet/jwt-refresh-token-bundle. I am not asking anyone to depend on it. I'm asking for a spike comparing (a) the upstream gesdinet bundle inside a Symfony service, (b) a managed IdP, and (c) laravel/sanctum or laravel/passport if we're Laravel-first — scored on maintenance health, framework-version support, revocation and replay-detection semantics, and integration effort. If we do proceed with any open-source option, the plan is to wrap it behind internal TokenIssuer/TokenRotator interfaces, vendor the source, and name an owner, so the choice stays reversible.
Decision requested: approve the spike; do not approve this dependency. The capability is worth funding; this artifact is not worth adopting.
How can I help you explore Laravel packages today?