letdoittoday/rabbitmq-access-token-bundle
A PHP bundle for RabbitMQ access token authentication, offering OAuth 2.0-style token handling so services can authenticate against RabbitMQ without static credentials. A small, low-profile package for projects already in the letdoittoday ecosystem.
TokenProvider contract plus one implementation behind it in our own code (roughly 1–3 engineer-days including tests).rabbitmq_auth_backend_oauth2 plugin, retiring static broker credentials, per-service identity for publishers/consumers, or secret-rotation compliance. If token auth isn't on the committed roadmap, this package supports no decision and should not consume a spike.Adoption criteria — and this package's standing against each:
Look elsewhere or build in-house when: you are on Laravel (use the HTTP client or Saloon to call your token endpoint, plus a small TokenProvider contract); you need a supported, upgrade-safe dependency on a revenue path; or you need behaviour you can explain to auditors and support without reading unmaintained vendor code. Consider this bundle only as a design reference during a spike, or as a stopgap on an existing Symfony service with a hard deadline and an accepted risk note.
To executives: The strategic question is whether we retire static RabbitMQ passwords in favour of short-lived, automatically refreshed access tokens. That is an audit and incident-blast-radius win, and it is coming either way. The specific library proposed for it has no adoption, no releases since 2020, and targets a different framework, so we are not asking to depend on it. We are asking for a small, time-boxed spike — a defined interface plus one implementation behind it — costed in days, not weeks. Because the surface is narrow and sits behind our own contract, the decision is reversible: if we later find a maintained package, we swap the implementation and keep the interface.
To engineering: Treat this as a pattern to read, not a package to install. Define the seam first — a TokenProvider contract exposing getToken() and refresh() with expiry-awareness — and make AMQP connection config consume it. Keep our tests running against the contract, never against vendor internals. Model the refresh path explicitly (refresh-before-expiry, clock skew, concurrent consumer fan-out, failure backoff); that is where the bugs live, not in the plumbing. Pin the broker plugin version and confirm its token semantics before we build. If we ever import code, it goes behind the adapter with a fork/exit note in the ADR.
Decision requested: approval for a 1–3 day spike to land the token-provider contract and one implementation behind it, using this bundle as reference only — with a go/no-go review gated on confirming the broker's OAuth 2.0 support, our token endpoint's refresh semantics, and the operational runbook for rotation. No production dependency on letdoittoday/rabbitmq-access-token-bundle is proposed.
How can I help you explore Laravel packages today?