youshido/token-authenticator
youshido/token-authenticator adds token-based authentication to Laravel apps, letting you issue, validate, and revoke API tokens through a dedicated guard and middleware that plug into your existing user model and routes.
TokenAuthenticatorBundle) — a security firewall/guard for Symfony's security component, not a Laravel auth driver. A PM uses this finding to kill a candidate in one step rather than spending an engineering spike on it. That is a decision, and a cheap one.Consider it only if all of the following hold:
Look elsewhere — decisively — if any of these are true:
firebase/php-jwt or tymon/jwt-auth; do not hand-roll.league/oauth2-server, or an identity provider.To executives: We evaluated youshido/token-authenticator and recommend not adopting it. Three reasons. First, it's a Symfony bundle — it does not fit our Laravel stack, which removes it on technical grounds alone. Second, it has had no release since April 2019, zero stars, and zero dependent projects, which means no one is maintaining or security-patching it; adopting it transfers that risk to us permanently. Third, the capability it would provide is already included free and maintained in Laravel via Sanctum and Passport. Net position: adopting this would add recurring maintenance cost and security exposure to get functionality we already own. Cost of the recommended path is zero; cost of the alternative is an on-call fork we must staff indefinitely.
To engineering: Two facts settle it. (1) TokenAuthenticatorBundle targets Symfony's security firewall — it will not register as a Laravel guard without a custom adapter we'd own. (2) It predates PHP 8 and modern Symfony security interfaces, so it's incompatible with our runtime and would need patching before the first line of integration code. Recommendation: use Sanctum for token issuance and validation; use Passport if the requirement is genuinely OAuth2 with scopes and grant types. If we need JWT specifically, firebase/php-jwt is the maintained primitive. Suggested next step is a half-day spike on Sanctum, not a fork evaluation — and if any legacy Symfony services surface, treat this package as an isolated internal tool with a named owner and a documented replacement date, never as a shared dependency.
The one-line ask: approve moving this candidate to "rejected — framework mismatch and unmaintained," and approve Sanctum as the default token-auth path.
How can I help you explore Laravel packages today?