https://github.com/thephpleague/oauth2-client
Easy integration with OAuth 2.0 service providers.
https://github.com/thephpleague/oauth2-client
authentication authorization oauth oauth2 php sso
Last synced: about 1 month ago
JSON representation
Easy integration with OAuth 2.0 service providers.
- Host: GitHub
- URL: https://github.com/thephpleague/oauth2-client
- Owner: thephpleague
- License: mit
- Created: 2013-01-29T16:01:42.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2024-07-29T06:56:46.000Z (9 months ago)
- Last Synced: 2024-10-19T18:10:16.218Z (6 months ago)
- Topics: authentication, authorization, oauth, oauth2, php, sso
- Language: PHP
- Homepage: http://oauth2-client.thephpleague.com
- Size: 1.24 MB
- Stars: 3,650
- Watchers: 126
- Forks: 751
- Open Issues: 77
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome - thephpleague/oauth2-client - Easy integration with OAuth 2.0 service providers. (PHP)
- awesome-php - OAuth 2.0 Client - An OAuth 2.0 client library. (Table of Contents / Authentication and Authorization)
- awesome-php-cn - OAuth 2.0 Client - OAuth 2.0 client library. (目录 / 身份验证和授权 Authentication and Authorization)
- awesome-projects - OAuth 2.0 Client - An OAuth 2.0 client library. (PHP / Authentication and Authorization)
- php-awesome - OAuth 2.0 Client
- awesome-php - OAuth 2.0 Client - An OAuth 2.0 client library. (Table of Contents / Authentication and Authorization)
- awesome-arsenal - oauth2-client - OAuth Client。 (武器库 / 后端)
- awesome-open-source-applications - OAuth2-Client - client) |  |  |  |  | (Back-End Development)
- awesome-open-source-applications - OAuth2-Client - client) |  |  |  |  | (Back-End Development)
README
# OAuth 2.0 Client
This package provides a base for integrating with [OAuth 2.0](http://oauth.net/2/) service providers.
[](https://gitter.im/thephpleague/oauth2-client)
[](https://github.com/thephpleague/oauth2-client)
[](https://github.com/thephpleague/oauth2-client/releases)
[](https://github.com/thephpleague/oauth2-client/blob/master/LICENSE)
[](https://github.com/thephpleague/oauth2-client/actions?query=workflow%3ACI)
[](https://codecov.io/gh/thephpleague/oauth2-client)
[](https://packagist.org/packages/league/oauth2-client)---
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](http://tools.ietf.org/html/rfc6749).
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](http://tools.ietf.org/html/rfc6750). See our [basic usage guide](https://oauth2-client.thephpleague.com/usage/) 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](https://oauth2-client.thephpleague.com/providers/league/) and [third-party](https://oauth2-client.thephpleague.com/providers/thirdparty/) 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](https://github.com/thephpleague/oauth2-client/blob/master/CONTRIBUTING.md).
## 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](https://oauth2-client.thephpleague.com/providers/league/), as well as [third-party provider clients](https://oauth2-client.thephpleague.com/providers/thirdparty/).
To build your own provider client, please refer to "[Implementing a Provider Client](https://oauth2-client.thephpleague.com/providers/implementing/)."
## Usage
For usage and code examples, check out our [basic usage guide](https://oauth2-client.thephpleague.com/usage/).
## Contributing
Please see [our contributing guidelines](https://github.com/thephpleague/oauth2-client/blob/master/CONTRIBUTING.md) for details.
## License
The MIT License (MIT). Please see [LICENSE](https://github.com/thephpleague/oauth2-client/blob/master/LICENSE) for more information.
[PSR-1]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md
[PSR-2]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
[PSR-4]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md
[PSR-7]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-7-http-message.md