Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Google Site Authenticator Bundle Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for Google Workspace integrations — unchanged, and now better supported. The package remains a thin Symfony DI wrapper around 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.
  • Roadmap unlock for admin/back-office automation. DWD is the enabler for features that are otherwise painful: calendar/email sync on behalf of users, automated onboarding/offboarding, Drive permission audits, eDiscovery/export, HR-driven provisioning, and support tooling that "sees what the user sees" without a consent screen per user. 1.2.0 does not change this calculus in either direction.
  • Onboarding-friction trade-off. DWD removes the per-user OAuth consent flow entirely (one super-admin grant, then server-to-server). Fewer consent drop-offs and no token-refresh UX, in exchange for a single high-privilege blast radius that must be governed.
  • Release gating and dependency risk — refine, don't relax. Prior review benchmarked 13 stars, 0 dependents, and a last release of Nov 2020. Release 1.2.0 is a signal of minimal, sporadic maintenance, not of health: it is compatibility-only, ships no security fix, no feature, and no visible upgrade of the underlying Google client constraint (verify before relying on it). Symfony 5.0 itself is long past end-of-life, so the release lands the package behind current framework support on arrival. Keep it as a reference implementation, not a dependency.
  • Security/compliance scoping. DWD requires Workspace super-admin authorization plus an explicit scope allowlist in the Admin console — a cross-functional gate (Security, Legal, IT) that belongs on the roadmap before, not after, engineering starts. Nothing in 1.2.0 touches auth behavior, so no re-review of that gate is triggered.

When to Consider This Package

Worth looking at (as a blueprint, primarily):

  • Your backend is Symfony 5.x and you want a drop-in service definition for a Workspace service account. 1.2.0 is the first release that supports this; note it drops Symfony 3.x, so it is a breaking change for anyone still on 3.x and offers no migration path.
  • You need to act as Workspace users (impersonation), not merely as the service account itself.
  • You have Workspace admin sponsorship and can get DWD scopes allowlisted, with scope minimization and audit logging planned.
  • You're willing to fork and pin it and own maintenance — the code is small enough that forking is realistic.

Look elsewhere / don't adopt:

  • Laravel. 1.2.0 reinforces this: the release is framed entirely in Symfony version support. It remains a Symfony bundle (*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.)
  • You only need the service account to act as itself (Directory API, Reports API, Cloud APIs). No DWD needed — plain google/apiclient or Workload Identity Federation on GCP is simpler and safer.
  • You need per-user consent (read a user's own Drive with their approval). Use standard OAuth, not DWD.
  • Long-term maintenance matters. A single compatibility release after a multi-year gap does not change the trajectory. The 2020 baseline predates current 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.

How to Pitch It (Stakeholders)

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package