jenssegers/oauth
OAuth 1 and OAuth 2 authentication for Laravel. Provides clean provider and consumer abstractions with ready-made drivers for Twitter, Facebook, Google, LinkedIn, GitHub and more, making social logins quick to wire into your app.
jenssegers/oauth is a thin Laravel service provider and facade over Lusitanian/PHPoAuthLib — an OAuth consumer abstraction, not an identity provider. It does not issue tokens, so it is irrelevant to any "we are the IdP" roadmap (that is Passport/Sanctum territory). Its only legitimate architectural slot is a Laravel app that needs outbound, multi-provider OAuth with minimal glue code, and specifically one where Socialite is unavailable (legacy Laravel 4/5-era) or insufficient (OAuth 1.0a providers Socialite does not cover). The TPM framing is "speed to first integration on a legacy stack," not "identity platform investment."composer require, register the provider, publish config/oauth.php, supply client_id/client_secret/scope, then use OAuth::consumer('Provider') as a factory for redirect/callback flows. Feasibility collapses on lifecycle evidence: 0 dependents and a package score of 0.3 mean no downstream validation and no observable maintenance signal. Gate any scope on a time-boxed, non-production compatibility spike; do not treat README version claims as current truth on an unmaintained package.league/oauth2-client, a provider SDK) cheaper than the ownership tail?league/oauth2-client; for enterprise identity use a maintained provider SDK. If the package is already in the codebase, the TPM decision is keep / wrap / replace — replacement is usually days, not weeks, given the small consumed surface.lusitanian/phpoauthlib tree resolves without known-vulnerable transitive versions, and validate callback URL handling against current provider endpoints. The interface is small enough (OAuth::consumer(), getAuthorizationUri(), requestAccessToken(), request(), refreshAccessToken()) that compatibility is a bounded spike, not a program.How can I help you explore Laravel packages today?