bmatovu/oauth-negotiator
bmatovu/oauth-negotiator is a Laravel package for negotiating OAuth access tokens. It offers a fluent interface to obtain, refresh, and manage tokens from multiple providers, making third-party API integration simple with minimal configuration.
^8.0, which removes one blocker for modern PHP runtimes — but it says nothing about Laravel 10/11 support. This supports a decision to verify Laravel compatibility directly rather than infer it from the version bump.Consider it when:
^8.0, which clears the PHP-side concern, but the Laravel constraint is unverified and may still predate Laravel 10/11.Look elsewhere when:
league/oauth2-client plus official provider packages is the more durable, widely-adopted layer.To executives: This is a small, permissively licensed (MIT) utility that centralizes how our services obtain and cache OAuth2 access tokens when calling third-party APIs. The strategic value is de-duplication — one audited place for token handling instead of scattered helper code. The strategic risk is maintenance: it has negligible adoption and a sparse release history, and the latest release only widens the PHP version constraint — it is not evidence of active feature or security stewardship. It should not become a platform dependency. Recommendation: fund a short spike to evaluate it as a reference design, with the default expectation that we implement and own this ourselves. Cost is low either way; the decision is about ownership of a security-sensitive code path, not licensing cost.
To engineering: Treat it as a pattern reference, not a dependency. Read the source, confirm the Laravel version constraint (v2.1.0 cleared PHP with ^8.0, but Laravel 10/11 support is unconfirmed), and check whether it delegates to league/oauth2-client or rolls its own token handling. If adopted at all, pin the version, vendor or fork it, and add tests around cache key isolation, expiry skew, concurrent refresh, and failure handling. The realistic alternative is a small internal service class wrapping Laravel's HTTP client and cache — likely comparable effort with full ownership and no upgrade risk. Decision needed: do we standardize an internal "outbound auth" capability now, or defer until a second integration forces the abstraction?
How can I help you explore Laravel packages today?