jonasarts/google-authenticator-bundle
Symfony bundle for adding Google Authenticator two-factor authentication to your app. Provides TOTP secret generation and code validation, with configurable services for integrating 2FA into login flows.
otpauth:// provisioning URIs, and time-window code verification.Consider it when:
TwoFactorProvider / TotpService abstraction) so the implementation is replaceable and product code never depends on the bundle directly.Look elsewhere when:
composer require a Symfony bundle into Laravel and have it function; the bundle wiring is inert. Use the first-party path (Fortify/Jetstream TOTP) or a maintained Laravel-native 2FA package (pragmarx/google2fa-laravel) or the underlying OTP core (spomky-labs/otphp). Treat this project, at most, as a reference implementation for the TOTP flow.To executives: MFA is now table stakes in security questionnaires and a recurring blocker in enterprise procurement. This is a free, MIT-licensed TOTP implementation that can put an authenticator-app factor into the product quickly at near-zero license cost. The strategic value is unlocking deals and compliance checkpoints, not technical differentiation — so scope it as a small, time-boxed security milestone. Two caveats to set expectations: the upstream project shows minimal community activity, so we should budget a modest engineering reserve to own the code we rely on; and because it is Symfony-specific, it is only directly usable in a Symfony service — if we are on Laravel, we take the Laravel-native path instead and treat this as a reference only.
To engineering: It is a thin bundle around a TOTP library — secret generation, otpauth:// provisioning URI, code verification. Small surface area, clean MIT license, but effectively unmaintained and framework-coupled to Symfony. Two conditions for any reuse: (1) isolate it behind our own TotpService interface so it stays replaceable, and (2) assume we own it — vendor or fork the underlying class, pin the version, and add our own tests around clock skew, replay, rate limiting, and secret storage. If we are on Laravel, do not attempt to install the bundle; standardize on pragmarx/google2fa-laravel and close the evaluation with a documented rationale so it is not re-proposed.
How can I help you explore Laravel packages today?