happyr/google-site-authenticator-bundle
Symfony bundle for adding Google Authenticator two-factor authentication to login flows. It generates and verifies time-based six-digit codes, integrates with Symfony security, and gives older Symfony apps a simple way to add TOTP-based 2FA without external services.
google/apiclient (~a few hundred lines) solving one narrow problem: authenticating your application to Google as a service account, with optional domain-wide delegation (DWD) so the app can impersonate any user in the Workspace domain. Release 1.2.0 adds and removes nothing functional — it is a framework-compatibility bump (Symfony 5.0 in, Symfony 3.x out). A project whose only release activity is a container-compatibility change is confirming, not challenging, the "cheap to build in-house" conclusion.Worth looking at (as a blueprint, primarily):
Look elsewhere / don't adopt:
*Bundle, DI extension, YAML config) and will not install or boot in Laravel. Use google/apiclient + google/auth directly and call setSubject() — that is the entire DWD mechanism. (Laravel Socialite is user OAuth, a different problem; don't conflate them in planning.)google/apiclient or Workload Identity Federation on GCP is simpler and safer.google/apiclient/google/auth majors, and a stale auth package is a security liability, not just a nuisance. Budget for the upgrade path or own the fork.To executives: This is a small, thinly maintained Symfony bundle that demonstrates a genuinely valuable Google capability — domain-wide delegation — which lets our backend automate work inside Google Workspace without asking every user to approve access. The capability is worth pursuing; the package is not. Its new 1.2.0 release only adds Symfony 5 support and drops Symfony 3: no new features, no security work, no evidence of sustained maintenance. Recommendation stands: budget 1–3 engineering days to implement the same pattern in-house on the current official Google client. The real cost is not code — it's governance: a super-admin authorization, a Security/Legal review of the scopes we request, and audit logging.
To engineering: It's a thin wrapper over google/apiclient — a service-account factory plus optional setSubject() impersonation, wired into Symfony's container. 1.2.0 is a container-compatibility bump (Symfony 5.0 in, Symfony 3.x out); confirm whether it also moved the google/apiclient/google/auth constraints, because if it didn't, the auth stack is still pinned to a stale major. Don't install it in Laravel; port the ~1 file of logic. Use the latest google/apiclient, request minimum scopes, cache tokens, and log every impersonated call with the acting subject. Treat the repo as documentation of the pattern.
Bottom line: Adopt the capability, not the codebase. Release 1.2.0 is a maintenance blip, not a revival — it neither reduces the build case nor the risk. Value remains high (opportunity score 0.8), maintenance risk remains high, implementation cost remains low: a classic "build it small, govern it carefully" decision.
How can I help you explore Laravel packages today?