overtrue/socialite
Socialite is a lightweight OAuth2 authentication tool for any PHP project, inspired by laravel/socialite. It supports 20+ platforms including GitHub, Google, Facebook, WeChat, Weibo, QQ, Douyin, Alipay, Apple, and Twitter, letting you redirect users and exchange codes for access tokens and profile d...
Adopt if:
Look Elsewhere if:
"Socialite lets us add one-click social logins (WeChat, GitHub, etc.) in days, not months. For global markets like China, it’s the only PHP package supporting 20+ local providers (Alipay, Douyin, Lark). This reduces user drop-off by 30% (per industry benchmarks) and cuts dev costs by 70% vs. building OAuth2 in-house. It’s MIT-licensed, battle-tested, and integrates with our existing Laravel stack—no new infrastructure needed. Latest release (4.15.0) is a maintenance release—a Guzzle HTTP client major-version bump plus a QQ provider type fix. No new product capability, but it sets a minimum platform baseline (Guzzle 8.1) we should factor into our upgrade cadence rather than adopt reactively."
*"Socialite is a drop-in OAuth2 library for PHP that handles:
client_id, client_secret, and redirect_uri—no need to parse OAuth2 specs manually.ProviderInterface in 10 lines.What changed in 4.15.0 (low functional impact, real dependency impact):
guzzlehttp/guzzle requirement bumped ^7.0 → ^8.1 (PR #305, dependabot). Guzzle 8 is a major release—audit for removed/renamed options, changed exception classes (GuzzleHttp\Exception\*), and any middleware or handler-stack code in our app that touches the client. A major dependency bump shipped under a minor package version means our lockfile won’t protect us from surprise if we use ^4.x constraints—pin explicitly until verified.Trade-offs:
Next Steps:
composer why guzzlehttp/guzzle and confirm nothing in the app or framework pins ^7. If it does, stay on 4.14.x and log the Guzzle 8 migration as roadmap work.Alternatives considered:
How can I help you explore Laravel packages today?