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.
Architecture fit
client_credentials-style token request against the RabbitMQ OAuth2 token endpoint, caches the token, and refreshes it before expiry. That is on the order of 100–300 lines of code.rabbitmq_auth_backend_oauth2 plugin enablement, signing keys, resource_server_id, scope-to-vhost/permission mapping, or token TTL policy. Adopting it does not reduce the platform work; it reduces only the smallest piece of it.Integration feasibility
TokenProvider bound to a Laravel contract, backed by Cache and an atomic lock, with credentials sourced through the existing secret manager.Technical risk
Key questions
rabbitmq_auth_backend_oauth2 enabled and validated in staging? Who owns that?php-amqplib via vladimir-yuldashev/laravel-queue-rabbitmq) support updating credentials on a live connection, or must we cap connection lifetime below token TTL?Stack fit
Migration path
App\Contracts\AmqpTokenProvider (token(): string, invalidate(): void). All app code and tests depend on the contract, never on any vendor class.CachedAmqpTokenProvider — Redis cache keyed by audience, atomic lock around refresh, jittered early refresh (e.g. at 70% of TTL), structured logging and metrics on fetch latency and failure.['password' => $token, 'username' => ''] or the plugin's expected credential shape.Compatibility
Sequencing
Maintenance
Support
Scaling
Failure modes
Ramp-up
resource_server_id, permission mapping), are where the real learning cost sits — plan a short internal runbook covering token refresh, connection lifetime policy, and rollback to password auth.Bottom line for the decision review: approve the time-boxed spike, but scope it to porting the pattern, not adopting the bundle. Gate the go/no-go on broker-side plugin validation, verified license for any vendored code, and a working rollback flag.
How can I help you explore Laravel packages today?