laravel/socialite
61.9
Adequate · 19 September 2026
3k
lines of production code
PHP
primary language
1
measurement over time
What this system is
This system is a Laravel Socialite library that facilitates OAuth 1.0 and OAuth 2.0 authentication integrations with various providers. It manages user identity retrieval, token handling, and provider configuration while enforcing strict validation for missing credentials. The library also provides comprehensive testing utilities, including fake implementations for mocking authentication flows and verifying user data.
Features
Major overhaul of Socialite OAuth2 providers and core classes
This change introduces several new OAuth2 providers (Bitbucket, Gitlab, LinkedIn OpenID, Slack OpenID, Twitch, Twitter, and X) and significantly updates existing ones (Facebook, GitHub, Google, LinkedIn, Slack) to support modern API versions, OIDC tokens, and PKCE. The core \AbstractProvider\ and \User\ classes have been refactored to support refresh tokens, approved scopes, and a new \Token\ class, while the \User\ class now includes a \fake()\ method for testing.
src/Two · high confidence
Socialite facade gains a fake() method for testing
The Socialite facade now includes a static fake() method, allowing developers to easily mock social authentication flows in tests by swapping the underlying factory with a SocialiteFake instance. This change also updates the SocialiteManager to implement the Factory contract and improves the SocialiteServiceProvider to register the factory as a singleton and support deferred loading.
src · high confidence
Behavioural changes
Enhanced OAuth 1.0 provider capabilities and testing support
The Socialite One component now provides better integration with Laravel's HTTP and session handling by switching to Illuminate's RedirectResponse and using the session helper. It introduces new exception classes (MissingTemporaryCredentialsException, MissingVerifierException) for clearer error handling. The Twitter provider has been expanded to include location and description fields, support for original-sized avatars, and the ability to set OAuth scopes. Additionally, a new userFromTokenAndSecret method allows retrieving user profiles from existing credentials, and a User::fake() static method has been added to facilitate testing by creating mock user instances.
src/One · high confidence
Redefine socialite contracts and introduce Factory interface
The library's contract layer has been reorganized: the previous \ProviderInterface\ from the \One\ namespace is renamed to \Provider\ and moved to \src/Contracts\, with its \redirect()\ return type broadened to also accept \Illuminate\\Http\\RedirectResponse\ and its \user()\ method now returning the new \Contracts\\User\ interface. A new \Factory\ interface is added to allow retrieving provider instances by driver name, and a new \User\ interface is introduced to standardize access to user attributes (ID, nickname, name, email, avatar).
src/Contracts · high confidence
Repository configuration and documentation overhaul
This change introduces several structural and documentation updates to the repository. It adds standard configuration files including \.editorconfig\ for consistent coding styles, \.gitattributes\ to manage line endings and export ignores, \.styleci.yml\ for StyleCI integration, and \phpstan.neon.dist\ for static analysis. The CI system has been migrated from Travis CI (\.travis.yml\ removed) to GitHub Actions, and the PHPUnit configuration has been renamed to \phpunit.xml.dist\ with updated test directory patterns and deprecation handling. Documentation has been refreshed with a new \README.md\, \CHANGELOG.md\, and \UPGRADE.md\ guide, while the license file was renamed from \LICENSE.txt\ to \LICENSE.md\ and the \.gitignore\ was updated to exclude local PHPUnit cache files.
(repo-wide) · high confidence
Simplified Socialite facade implementation
The Socialite facade has been refactored to extend the main Socialite class directly instead of inheriting from the generic Facade base class and manually implementing getFacadeAccessor. This change removes the explicit accessor registration ('socialite') and relies on the parent class's built-in facade resolution mechanism, resulting in a cleaner, more concise facade definition.
src/Facades · high confidence
Throw exception for incomplete OAuth driver configuration
A new \DriverMissingConfigurationException\ has been added to the \src/Exceptions\ directory. This exception is thrown when required configuration keys are missing for a specific OAuth provider, providing a clear error message that identifies the provider and the missing keys, rather than failing silently or with a generic error.
src/Exceptions · high confidence
Test coverage
Added testing fakes for Socialite providers; Expanded test coverage for Socialite providers and testing utilities.
Dependencies
Laravel Socialite 5.x: Major dependency and framework version updates
This release updates the composer.json manifest to require PHP 8.1 or higher and introduces auto-discovery support for Laravel 5.5 through 13.x via the new 'extra.laravel' configuration. Key dependencies have been upgraded and expanded: Guzzle is now supported in versions 6.0, 7.0, and 8.0; the Firebase JWT library is updated to versions 6.4 or 7.0; and phpseclib is upgraded to version 4.0. Development dependencies have also been refreshed, with PHPUnit, Mockery, and Orchestra Testbench updated to their latest compatible major versions, and PHPStan added for static analysis.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 62.
Lenses
- Code Health 98
- Architecture 100
- Maturity 35
- Readiness 82
- Security 82
Changes since last survey
- 300 commits — 261 feature/other, 39 fixes
By area
- (root) — 106 commits
- src/Two — 64 commits
- (repo) — 33 commits
- .github/workflows — 29 commits
- src/SocialiteManager.php — 20 commits
- .github/ISSUE_TEMPLATE — 8 commits
- src/Facades — 8 commits
- src/AbstractUser.php — 5 commits
- src/One — 4 commits
- resources/boost — 3 commits
- src/Testing — 3 commits
- art/.DS_Store — 2 commits
- art/logo.svg — 2 commits
- src/Contracts — 2 commits
- src/Exceptions — 2 commits
- tests/LinkedInProviderTest.php — 2 commits
- tests/OAuthOneTest.php — 2 commits
- .github/SECURITY.md — 1 commit
- .github/dependabot.yml — 1 commit
- src/SocialiteServiceProvider.php — 1 commit
Notable commits
- fix: Apply fixes from StyleCI
- fix: Apply fixes from StyleCI
- fix: Apply fixes from StyleCI
- fix: Apply fixes from StyleCI
- fix: Apply fixes from StyleCI
- fix: Apply fixes from StyleCI
- fix: Apply fixes from StyleCI (#519)
- fix: Fix PHP 8.1 issues (#567)
- fix: Fix User return types (#614)
- fix: Fix a docblock (#584)
- fix: Fix bitbucket
- fix: Fix config object override with container (#639)
- fix: Fix container call
- fix: Fix guzzle version
- fix: Fix phpstan issues in Twitter and Slack drivers (#653)
- fix: Fix return type for functions which make use of json_decode (#745)
- fix: Fix scope separator in Gitlab provider
- fix: Fix static analysis issues (#793)
- fix: Fix test
- fix: Fix test
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
laravel/socialite was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit fa0181ee6204ca28a55cd67145fadd631ac209cf — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.