league / oauth2-client
OAuth 2.0 Client Library
Installs: 80 842 584
Dependents: 1 196
Suggesters: 11
Security: 0
Stars: 3 662
Watchers: 126
Forks: 754
Open Issues: 46
Requires
- php: ^7.1 || >=8.0.0 <8.5.0
- ext-json: *
- guzzlehttp/guzzle: ^6.5.8 || ^7.4.5
Requires (Dev)
- mockery/mockery: ^1.3.5
- php-parallel-lint/php-parallel-lint: ^1.4
- phpunit/phpunit: ^7 || ^8 || ^9 || ^10 || ^11
- squizlabs/php_codesniffer: ^3.11
This package is auto-updated.
Last update: 2024-12-19 03:21:58 UTC
README
This package provides a base for integrating with OAuth 2.0 service providers.
The OAuth 2.0 login flow, seen commonly around the web in the form of "Connect with Facebook/Google/etc." buttons, is a common integration added to web applications, but it can be tricky and tedious to do right. To help, we've created the league/oauth2-client
package, which provides a base for integrating with various OAuth 2.0 providers, without overburdening your application with the concerns of RFC 6749.
This OAuth 2.0 client library will work with any OAuth 2.0 provider that conforms to the OAuth 2.0 Authorization Framework. Out-of-the-box, we provide a GenericProvider
class to connect to any service provider that uses Bearer tokens. See our basic usage guide for examples using GenericProvider
.
Many service providers provide additional functionality above and beyond the OAuth 2.0 specification. For this reason, you may extend and wrap this library to support additional behavior. There are already many official and third-party provider clients available (e.g., Facebook, GitHub, Google, Instagram, LinkedIn, etc.). If your provider isn't in the list, feel free to add it.
This package is compliant with PSR-1, PSR-2, PSR-4, and PSR-7. If you notice compliance oversights, please send a patch via pull request. If you're interested in contributing to this library, please take a look at our contributing guidelines.
Requirements
We support the following versions of PHP:
- PHP 8.4
- PHP 8.3
- PHP 8.2
- PHP 8.1
- PHP 8.0
- PHP 7.4
- PHP 7.3
- PHP 7.2
- PHP 7.1
Provider Clients
We provide a list of official PHP League provider clients, as well as third-party provider clients.
To build your own provider client, please refer to "Implementing a Provider Client."
Usage
For usage and code examples, check out our basic usage guide.
Contributing
Please see our contributing guidelines for details.
License
The MIT License (MIT). Please see LICENSE for more information.