yivoff/jwt-refresh-bundle
Symfony bundle that adds refresh-token support to JWT authentication, letting clients exchange a long-lived refresh token for new access tokens instead of re-authenticating. Token lifetime, storage, and rotation are configurable.
Verdict up front: this is not a Laravel package, and cannot be adopted as one. yivoff/jwt-refresh-bundle is a Symfony bundle built to complement LexikJWTAuthenticationBundle. Its Composer constraints pull symfony/framework-bundle, symfony/security-bundle, and Lexik. Laravel has no bundle kernel, no compile-time DI container, and no Symfony firewall/event system, so composer require in a Laravel app will either fail resolution or install dead, un-wired code. Any "leverage" here is architectural, not dependency-level.
Architecture fit
tymon/jwt-auth; the rotation-and-reuse-detection pattern is exactly what tymon/jwt-auth lacks out of the box.AuthenticationSuccessEvent, JWTCreatedEvent), a firewall factory, Doctrine ORM mappings for the refresh token entity, and Symfony config tree definitions. None of these have Laravel analogues that can consume the code directly.Integration feasibility
Technical risk
Key questions to resolve before committing any effort
Stack fit
Migration path (if a port is chosen)
refresh_tokens table (id, user_id, token_hash, expires_at, revoked_at, parent_id/family_id, device_fingerprint, timestamps).RefreshTokenService) bound in a service provider; expose issue(), rotate(), revoke(), revokeFamily().POST /auth/refresh), guarded by throttle and a token-in-body-or-cookie extraction rule.config/jwt-refresh.php (ttl, refresh_ttl, rotate, reuse_detection, prune_after).tymon/jwt-auth or firebase/php-jwt).Compatibility
Sequencing
issue/rotate with tests for: reuse detection, concurrent refresh, expiry, revocation, and logout-all-devices.Maintenance
Support
Scaling
token_hash (unique), index on user_id, index on expires_at for the prune sweep, and a scheduled refresh_tokens:prune command.Failure modes to design against
Ramp-up
How can I help you explore Laravel packages today?