Weave Code
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

Oauth Subscriber Laravel Package

guzzlehttp/oauth-subscriber

Guzzle middleware that signs HTTP requests with OAuth 1.0. Compatible with Guzzle 7.10+ and PHP 7.2.5+. Configure consumer/token secrets once on a HandlerStack, then enable per request (auth=oauth) or globally, with optional per-request token override.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • API Integration Roadmap: Enables secure OAuth 1.0 authentication for third-party APIs (e.g., Twitter, Mailchimp, or legacy systems) without reinventing OAuth logic. Reduces backend complexity by abstracting OAuth signing into middleware.
  • Build vs. Buy: Buy—avoids maintaining custom OAuth implementations, reducing technical debt and security risks (e.g., nonce entropy fixes in v0.8.1). Aligns with Guzzle’s battle-tested HTTP stack.
  • Use Cases:
    • Legacy API Support: Integrate with OAuth 1.0 APIs (e.g., Twitter v1.1, older payment gateways) while modernizing the stack with Guzzle 7+.
    • Multi-Tenant Auth: Dynamically switch credentials per request (e.g., for partner APIs) via the oauth request option.
    • Security Compliance: Leverage RSA-SHA1 or HMAC-SHA256 signing methods to meet API-specific requirements (e.g., enterprise APIs).
    • Microservices: Centralize OAuth logic in a shared library across services using Guzzle’s middleware pattern.
  • Cost Efficiency: MIT-licensed and dependency-free (no external OAuth libraries), reducing licensing overhead.

When to Consider This Package

  • Adopt If:

    • Your API requires OAuth 1.0 (not OAuth 2.0) and Guzzle is already in your stack.
    • You need low-latency signing (middleware runs before requests leave the app).
    • Your team lacks OAuth 1.0 expertise or wants to avoid security pitfalls (e.g., CVE-2025-21617 fixes).
    • You’re using PHP 7.2.5+ and Guzzle 7.10+ (or can upgrade).
    • You require flexibility for two-legged OAuth, RSA signing, or dynamic credential switching.
  • Look Elsewhere If:

    • Your API uses OAuth 2.0 (use league/oauth2-client or similar).
    • You’re constrained by PHP <7.2.5 or Guzzle <7.10 (consider a fork or alternative).
    • You need OAuth 1.0a (this package supports OAuth 1.0 only).
    • Your use case involves high-frequency credential rotation (e.g., per-request tokens)—consider a custom solution with caching.
    • You’re integrating with non-HTTP APIs (e.g., WebSockets, gRPC).

How to Pitch It (Stakeholders)

For Executives: "This package lets us securely integrate with legacy OAuth 1.0 APIs (e.g., Twitter, payment processors) without building custom auth logic. It’s maintained by the Guzzle team, reduces security risks (e.g., fixed nonce vulnerabilities), and cuts development time by 30%+ compared to rolling our own solution. The MIT license and zero dependencies keep costs low."

For Engineering: *"Leverage Guzzle’s middleware to auto-sign OAuth 1.0 requests with minimal boilerplate. Key benefits:

  • Plug-and-play: Drop-in for Guzzle 7+ (PHP 7.2.5+).
  • Flexible: Supports HMAC-SHA256, RSA-SHA1, and two-legged OAuth.
  • Secure: Addresses CVE-2025-21617 and validates RSA keys upfront.
  • Scalable: Dynamic credentials per request via oauth option. Tradeoff: Limited to OAuth 1.0; not a drop-in for OAuth 2.0. Recommended for APIs like Twitter v1.1 or legacy systems."*

For Security: *"This package mitigates OAuth 1.0 risks by:

  • Enforcing proper nonce generation (fixed in v0.8.1).
  • Supporting RSA-SHA1 for key-based auth (reduces secret exposure).
  • Validating inputs to prevent signature tampering. Recommendation: Use with Guzzle’s retry middleware to refresh tokens if needed."*
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.
daikazu/eloquent-salesforce-objects
unseen-codes/chat
romalytar/yammi-jobs-monitoring-laravel
kisame76/filament-db-table-state
nqxcode/laravel-lucene-search
dpfx/laravel-livewire-wizards
workos/workos-php-laravel
sofa/laravel-global-scope
nawasara/auth-primitives
adhocrat-io/arkhe-main
make-dev/orca-harpoon
itsemon245/lamet
baks-dev/dashboard
amoifr/pickle-panther-bundle
make-dev/orca
dmstr/symfony-system-resources-bundle
dmstr/symfony-job-queue-bundle
dmstr/openapi-json-schema-bundle
dmstr/keycloak-security-bundle
dmstr/doctrine-audit-log-bundle