Easy integration with OAuth 2.0 service providers.

Overview

OAuth 2.0 Client

This package provides a base for integrating with OAuth 2.0 service providers.

Gitter Chat Source Code Latest Version Software License Build Status Codecov Code Coverage Total Downloads


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.0
  • PHP 7.4
  • PHP 7.3
  • PHP 7.2
  • PHP 7.1
  • PHP 7.0
  • PHP 5.6

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.

Comments
  • [RFC] Provider User Entity Interface/Abstract

    [RFC] Provider User Entity Interface/Abstract

    OAuth 2.0 does not define a User entity. However, we're providing an Entity\User class in this library. As a result of how various providers handle users and user data, we've had to modify this class numerous times to support each provider. Now that there are no more providers in version 1.0, it no longer makes sense to support a User entity that works for all the providers.

    My recommendation is to remove Entity\User in v1.0. In its place, we should provide a basic Provider\UserInterface and possibly an abstract Provider\User with bare-bones functionality. Each provider will need to upgrade to use at least the interface by the v1.0 release. The management of user entities will now be the responsibility of each provider.

    We should get feedback from each of the third-party providers for what the Provider\UserInterface should include.

    Refer to #237 and #264 for more discussion on this topic.

    opened by ramsey 51
  • Move Providers to their own Repositories

    Move Providers to their own Repositories

    • Eventbrite
      • [x] Find a maintainer
      • [x] Link in the README
      • [x] Remove from league/oauth2-client
    • Facebook
      • [x] Make a new GitHub repo
      • [x] Link in the README
      • [x] Remove from league/oauth2-client
      • [x] Document any custom params
    • Github
      • [x] Make a new GitHub repo
      • [x] Link in the README
      • [x] Remove from league/oauth2-client
      • [x] Document any custom params
    • Google
      • [x] Make a new GitHub repo
      • [x] Link in the README
      • [x] Remove from league/oauth2-client
      • [x] Document any custom params
    • Instagram
      • [x] Make a new GitHub repo
      • [x] Link in the README
      • [x] Remove from league/oauth2-client
      • [x] Document any custom params
    • LinkedIn
      • [x] Make a new GitHub repo
      • [x] Link in the README
      • [x] Remove from league/oauth2-client
      • [x] Document any custom params
    • Microsoft
      • [x] Find a maintainer
      • [x] Link in the README
      • [x] Remove from league/oauth2-client
    • Vkontakte
      • [x] Find a maintainer
      • [x] Remove from league/oauth2-client
      • [x] Link in the README

    You might notice Eventbrite, Microsoft and Vkontakte have been bumped off to their own repos. That's just some advice, but maybe @ramsey you want them to stick around and be official.

    enhancement 
    opened by philsturgeon 43
  • Implement HTTPlug

    Implement HTTPlug

    This is a backwards compatible implementation of HTTPlug. It provides an abstraction over Guzzle and other libraries sending HTTP messages. Using HTTPlug will comply with the dependency inversion principle.

    With this PR we can now allow people using Guzzle5 using this library. This will also future proof us whenever Guzzle7 is released.

    opened by Nyholm 29
  • Support HTTP Basic Auth for client authentication

    Support HTTP Basic Auth for client authentication

    When dealing with an OAuth-Server which is not supporting the authorization with credentials inside the request body the Abstract- or GenericProvider is not directly working.

    So you have to implement a new provider which is overriding the getAccessTokenOptions method.

    It would be better if the AbstractProvider would stick to the recommended behavior from RFC 6749 of sending the client credentials using the basic auth (authorization header). As you can see this section also tells that sending credentials inside the body is not recommended and should be limited to clients unable to use basic auth.

    The getAccessTokenOptions could look like this:

        /**
         * Builds request options used for requesting an access token.
         *
         * @param  array $params
         * @return array
         */
        protected function getAccessTokenOptions(array $params)
        {
            $options = [
                'headers' => [
                    'content-type' => 'application/x-www-form-urlencoded',
                    'authorization' => 'Basic ' . base64_encode($params['client_id'] . ':' . $params['client_secret'])
                ]
            ];
            if ($this->getAccessTokenMethod() === self::METHOD_POST) {
                $options['body'] = $this->getAccessTokenBody($params);
            }
    
            return $options;
        }
    

    As the client_id and client_secret is still inside the params array, they are also still inside the request body, so they could be removed from the params if necessary.

    enhancement 
    opened by jenschude 27
  • Switch to Guzzle 6 for HTTP client

    Switch to Guzzle 6 for HTTP client

    Replaces Ivory HTTP adapter with Guzzle 6. Moves towards better PSR-7 compliance.

    Also bumps the PHP version requirement to 5.5, because Guzzle 6 requires it.

    Fixes #314

    opened by shadowhand 24
  • Authorize does not validate state parameter

    Authorize does not validate state parameter

    So I noticed that when authorizing a a code we do not validate that the state returned matches that generated within getAuthorizationUrl.

    You see we generate the code here

        public function getAuthorizationUrl($options = array())
        {
            $state = md5(uniqid(rand(), true));
            setcookie($this->name.'_authorize_state', $state);
    

    but within getAccessToken we do not validate it.

    Was there any reason for this or was it just forgotten ?

    opened by robertpitt 21
  • Version 1.0

    Version 1.0

    So this library is very popular however it contains a lot of crap and legacy code that doesn't conform to PSR standards and isn't using good modern development practises like dependency injection and such. Also I've neglected this project far too long and I want to change that.

    This issue is to track progress of v1.0 of the library which will be a top down rewrite of the underlying code but will keep it's simple API which people like. It will have some proper documentation too.

    Here's the TODO list:

    • [ ] Remove all of @TomHAnderson's code as per his request in #97 (as this is going to be a complete rewrite this doesn't matter anyway).
    • [ ] Remove all of the build in providers and move them into separate repos - this way we can also keep issues for individual providers out of the main repo
    • [ ] Write some quality documentation at http://oauth.thephpleague.com/

    All work will take place in the WIP-v1.0 branch

    Please feel free to add any additional thoughts/comments below and they will be taken into consideration.

    opened by alexbilbie 20
  • PSR-4 & 100% Code Coverage

    PSR-4 & 100% Code Coverage

    It's been over a month since PSR-4 was put into composer so it's ok (since composer.phar self updates monthly) to move libraries over to PSR-4, and here it is.

    opened by TomHAnderson 20
  • Not getting all the information from Github API.

    Not getting all the information from Github API.

    For some reason I cannot get the email of my GitHub.

    I tried to dig in the code did not find anything.

    I even added the scope:

    public $scopes = array('user:email');
    

    I also tried:

    public $scopes = array('user');
    

    I get NULL.

    It also seems that other information are not loading:

    string(3) "uid"
    int(--------) -> this works but I hid it.
    string(8) "nickname"
    string(5) "jnbdz"
    string(4) "name"
    string(19) "Jean-Nicolas Boulay"
    string(9) "firstName"
    NULL
    string(8) "lastName"
    NULL
    string(5) "email"
    NULL
    string(8) "location"
    NULL
    string(11) "description"
    NULL
    string(8) "imageUrl"
    NULL
    string(4) "urls"
    array(2) {
      ["GitHub"]=>
      string(18) "http://github.com/"
      ["Blog"]=>
      NULL
     }
    
    opened by jnbdz 20
  • PrepareAccessTokenResponse must be of the type array error

    PrepareAccessTokenResponse must be of the type array error

    I trying authenticate with oauth2-client, and give this error

     Catchable fatal error: Argument 1 passed to League\OAuth2\Client\Provider\AbstractProvider::prepareAccessTokenResponse() must be of the type array, string given, called in C:\wamp\www\stackexchange\vendor\league\oauth2-client\src\Provider\AbstractProvider.php on line 540 and defined in C:\wamp\www\stackexchange\vendor\league\oauth2-client\src\Provider\AbstractProvider.php on line 711
    

    The code that i used is same of first example in this repository. Is a bug ? how i can to solve this ?

    opened by mandado 19
  • User Entity cannot be set

    User Entity cannot be set

    The User Entity for all the providers are tightly coupled and have no way to be injected or set when retrieving the user details. The only way now is to inherit the provider in our own concrete and override the method, which is not something i prefer.

    public function userDetails($response, AccessToken $token)
        {
            $user = new User();
    
            $email = (isset($response->emailAddress)) ? $response->emailAddress : null;
            $location = (isset($response->location->name)) ? $response->location->name : null;
            $description = (isset($response->headline)) ? $response->headline : null;
            $pictureUrl = (isset($response->pictureUrl)) ? $response->pictureUrl : null;
    
            $user->exchangeArray([
                'uid' => $response->id,
                'name' => $response->firstName.' '.$response->lastName,
                'firstname' => $response->firstName,
                'lastname' => $response->lastName,
                'email' => $email,
                'location' => $location,
                'description' => $description,
                'imageurl' => $pictureUrl,
                'urls' => $response->publicProfileUrl,
            ]);
    
            return $user;
        }
    

    In case of LinkedIn there are more user details we can extract when a r_fullprofile scope is provided. Are there plans to implement this and if not what are your thoughts about how to implement it? We could add it in the abstract provider but i prefer a seperate object for it.

    Will free up some time, if needed, to implement it.

    opened by marcojanssen 19
  • Bump nokogiri from 1.13.9 to 1.13.10 in /docs

    Bump nokogiri from 1.13.9 to 1.13.10 in /docs

    Bumps nokogiri from 1.13.9 to 1.13.10.

    Release notes

    Sourced from nokogiri's releases.

    1.13.10 / 2022-12-07

    Security

    • [CRuby] Address CVE-2022-23476, unchecked return value from xmlTextReaderExpand. See GHSA-qv4q-mr5r-qprj for more information.

    Improvements

    • [CRuby] XML::Reader#attribute_hash now returns nil on parse errors. This restores the behavior of #attributes from v1.13.7 and earlier. [#2715]

    sha256 checksums:

    777ce2e80f64772e91459b943e531dfef387e768f2255f9bc7a1655f254bbaa1  nokogiri-1.13.10-aarch64-linux.gem
    b432ff47c51386e07f7e275374fe031c1349e37eaef2216759063bc5fa5624aa  nokogiri-1.13.10-arm64-darwin.gem
    73ac581ddcb680a912e92da928ffdbac7b36afd3368418f2cee861b96e8c830b  nokogiri-1.13.10-java.gem
    916aa17e624611dddbf2976ecce1b4a80633c6378f8465cff0efab022ebc2900  nokogiri-1.13.10-x64-mingw-ucrt.gem
    0f85a1ad8c2b02c166a6637237133505b71a05f1bb41b91447005449769bced0  nokogiri-1.13.10-x64-mingw32.gem
    91fa3a8724a1ce20fccbd718dafd9acbde099258183ac486992a61b00bb17020  nokogiri-1.13.10-x86-linux.gem
    d6663f5900ccd8f72d43660d7f082565b7ffcaade0b9a59a74b3ef8791034168  nokogiri-1.13.10-x86-mingw32.gem
    81755fc4b8130ef9678c76a2e5af3db7a0a6664b3cba7d9fe8ef75e7d979e91b  nokogiri-1.13.10-x86_64-darwin.gem
    51d5246705dedad0a09b374d09cc193e7383a5dd32136a690a3cd56e95adf0a3  nokogiri-1.13.10-x86_64-linux.gem
    d3ee00f26c151763da1691c7fc6871ddd03e532f74f85101f5acedc2d099e958  nokogiri-1.13.10.gem
    
    Changelog

    Sourced from nokogiri's changelog.

    1.13.10 / 2022-12-07

    Security

    • [CRuby] Address CVE-2022-23476, unchecked return value from xmlTextReaderExpand. See GHSA-qv4q-mr5r-qprj for more information.

    Improvements

    • [CRuby] XML::Reader#attribute_hash now returns nil on parse errors. This restores the behavior of #attributes from v1.13.7 and earlier. [#2715]
    Commits
    • 4c80121 version bump to v1.13.10
    • 85410e3 Merge pull request #2715 from sparklemotion/flavorjones-fix-reader-error-hand...
    • 9fe0761 fix(cruby): XML::Reader#attribute_hash returns nil on error
    • 3b9c736 Merge pull request #2717 from sparklemotion/flavorjones-lock-psych-to-fix-bui...
    • 2efa87b test: skip large cdata test on system libxml2
    • 3187d67 dep(dev): pin psych to v4 until v5 builds in CI
    • a16b4bf style(rubocop): disable Minitest/EmptyLineBeforeAssertionMethods
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    dependencies ruby 
    opened by dependabot[bot] 1
  • pkce no longer appears in src/Provider/AbstractProvider.php

    pkce no longer appears in src/Provider/AbstractProvider.php

    Hello, I installed the project via composer (2.6.1) and started using it as described here but found out that AbstractProvider.php no longer had support for PKCE when I wanted to use

    $provider = new \League\OAuth2\Client\Provider\GenericProvider([
        // ...
        // other options
        // ...
        'pkceMethod' => \League\OAuth2\Client\Provider\GenericProvider::PKCE_METHOD_S256
    ]);
    

    So when i navigate to https://github.com/thephpleague/oauth2-client/blob/master/src/Provider/AbstractProvider.php i can found setPkceCode(), getPkceCode(), etc... but not in the sources after composer install

    opened by drennvinn 2
  • Abstract out tokens from being tied tightly to access

    Abstract out tokens from being tied tightly to access

    Some OAuth2 clients also support OpenID Connect (OIDC.) Also, some native app integrations (e.g., Google) directly return OIDC ID tokens to the native app, which then can be used by a backend for SSO. You get the idea.

    There are some other issues/PRs open for OIDC functionality, e.g. https://github.com/thephpleague/oauth2-client/pull/899, and those are good starts for sure. I think what is missing from at least that PR, and more generally, is the ability to represent tokens in a more abstract way. E.g., an OIDC ID token represents a resource owner, but does not contain an access token. This can also lead to some confusion like in https://github.com/thephpleague/oauth2-client/issues/976.

    See also https://github.com/thephpleague/oauth2-google/pull/119 for the Google provider, which is an example of how these libraries can be augmented with ID token support to better serve as a backend for all types of SSO implementations, not just browser-based OAuth2 flow.

    opened by bradjones1 1
  • Adding the Pro Santé Connect module

    Adding the Pro Santé Connect module

    Pro Santé Connect is the french health services' OpenID/OAuth connector

    The docs/ directory is what powers the website oauth2-client.thephpleague.com. Modifying links to work in the Github file browser will break the website. Please do not open a new Pull Request to "fix the broken documentation links"; they will be promptly closed.

    opened by thejoelinux 0
Releases(2.6.1)
  • 2.6.1(Dec 22, 2021)

  • 2.6.0(Oct 28, 2020)

  • 2.5.0(Jul 18, 2020)

  • 2.4.1(Nov 22, 2018)

  • 2.4.0(Nov 21, 2018)

    • Add HttpBasicAuthOptionProvider to ease implementation for providers requiring HTTP basic auth
    • Add GuardedPropertyTrait to allow providers the ability to specify properties that may not be overridden by user-defined values passed to the provider constructor
    • Add AccessTokenInterface and ResourceOwnerAccessTokenInterface to allow providers the ability to override the default AccessToken
    Source code(tar.gz)
    Source code(zip)
  • 2.3.1(Nov 19, 2018)

    • Allow paragonie/random_compat's empty 9.99.99 placeholder
    • Throw an UnexpectedValueException on non-JSON responses from access token request (when calling AbstractProvider::getAccessToken())
    Source code(tar.gz)
    Source code(zip)
  • 2.3.0(Jan 13, 2018)

    • Add ProviderRedirectTrait tool for 3rd-party provider libraries to use when handling provider redirections
    • Fix TypeError thrown because getResourceOwner() receives a non-JSON Response
    • Gracefully handle non-standard errors received from providers
    • Update README to reflect official support of PHP 7.2
    Source code(tar.gz)
    Source code(zip)
  • 2.2.1(Apr 25, 2017)

  • 2.2.0(Feb 14, 2017)

    • Allow base URLs to contain query parameters
    • Protect against + being improperly encoded in URL parameters
    • Remove misleading state option from authorization parameters
    • Stop generating more random bytes than necessary
    Source code(tar.gz)
    Source code(zip)
  • 2.1.0(Jan 25, 2017)

  • 2.0.0(Jan 13, 2017)

    • PHP 5.6 or greater is now required
    • Rename getResponse() to getParsedResponse()
    • Add getResponse() method that returns the unparsed PSR-7 Response instance
    • Removed RandomFactory, switched to native random functions
    Source code(tar.gz)
    Source code(zip)
  • 1.4.2(Jul 28, 2016)

  • 1.4.1(Apr 29, 2016)

  • 1.4.0(Apr 29, 2016)

  • 1.3.0(Feb 13, 2016)

  • 1.2.0(Jan 23, 2016)

  • 1.1.0(Nov 13, 2015)

  • 1.0.2(Sep 22, 2015)

  • 1.0.1(Aug 26, 2015)

  • 1.0.0(Aug 19, 2015)

  • 1.0.0-beta2(Aug 12, 2015)

    • BREAK: Add toArray() to ResourceOwnerInterface.
    • Always attempt to parse responses as JSON and fallback on failure.
    • Add dot notation support to access token resource owner ID.
    • Use the Bearer authorization header for the generic provider.
    • Documentation updates.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0-beta1(Jul 16, 2015)

    • API for 1.0 is now frozen!
    • BREAK: Convert all uses of "User" to "ResourceOwner" to more closely match the OAuth 2.0 specification.
    • BREAK: Rename StandardProvider to GenericProvider.
    • BREAK: Move access token creation to the AbstractProvider. It was previously handled in the AbstractGrant.
    • FIX: Add Content-Type header with value of application/x-www-form-urlencoded to the request header when retrieving access tokens. This adheres to the OAuth 2.0 specification and fixes issues where certain OAuth servers expect this header.
    • Enhanced json_encode() serialization of AccessToken; when using json_encode() on an AccessToken, it will return a JSON object with these properties: access_token, refresh_token, and expires_in.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0-alpha2(Jul 4, 2015)

    • BREAK: Renamed AbstractProvider::ACCESS_TOKEN_METHOD_GET to AbstractProvider::METHOD_GET.
    • BREAK: Renamed AbstractProvider::ACCESS_TOKEN_METHOD_POST to AbstractProvider::METHOD_POST.
    • BREAK: Renamed AbstractProvider::prepareUserDetails() to AbstractProvider::createUser().
    • BREAK: Renamed AbstractProvider::getUserDetails() to AbstractProvider::getUser().
    • BREAK: Removed $token parameter from AbstractProvider::getDefaultHeaders().
    • BREAK: Modify AbstractProvider::getBaseAccessTokenUrl() to accept a required array of parameters, allowing providers the ability to vary the access token URL, based on the parameters.
    • Removed newline characters from MAC Authorization header.
    • Documentation updates, notably:
      • Moved list of providers to README.PROVIDERS.md.
      • Moved provider creation notes to README.PROVIDER-GUIDE.md.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0-alpha1(Jun 25, 2015)

    This release contains numerous BC breaks from the 0.x series. Please note these breaks and refer to the upgrade guide.

    • BREAK: Requires PHP 5.5.0 and greater.
    • BREAK: All providers have been moved to separate repositories, one for each provider.
    • BREAK: All public properties have been set as protected or private and getters/setters have been introduced for access to these properties.
    • BREAK: The Provider\ProviderInterface has been removed. Please extend from and override Provider\AbstractProvider.
    • BREAK: The Entity\User has been removed. Providers should implement the Provider\UserInterface and provide user functionality instead of expecting it in this base library.
    • BREAK: The Grant\GrantInterface has been removed. Providers needing to provide a new grant type should extend from and override Grant\AbstractGrant.
    • A generic Provider\StandardProvider has been introduced, which may be used as a client to integrate with most OAuth 2.0 compatible servers.
    • A Grant\GrantFactory has been introduced as a means to register and retrieve singleton grants from a registry.
    • Introduced traits for bearer and MAC authorization (Tool\BearerAuthorizationTrait and Tool\MacAuthorizationTrait), which providers may use to enable these header authorization types.
    Source code(tar.gz)
    Source code(zip)
  • 0.12.1(Jun 20, 2015)

  • 0.12.0(Jun 16, 2015)

    • BREAK: LinkedIn Provider: Default scopes removed from LinkedIn Provider. See "Managing LinkedIn Scopes" in the README for information on how to set scopes. See #327 and #307 for details on this change.
    • FIX: LinkedIn Provider: A scenario existed in which publicProfileUrl was not set, generating a PHP notice; this has been fixed.
    • FIX: Instagram Provider: Fixed scope separator.
    • Documentation updates and corrections.
    Source code(tar.gz)
    Source code(zip)
  • 0.11.0(Apr 25, 2015)

  • 0.10.1(Apr 2, 2015)

    • FIX: Invalid JSON triggering fatal error
    • FIX: Sending headers along with auth getAccessToken() requests
    • Now running Travis CI tests on PHP 7
    • Documentation updates
    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(Mar 10, 2015)

    • Providers: Added getHeaders() to ProviderInterface and updated AbstractProvider to provide the method
    • Providers: Updated all bundled providers to support new $authorizationHeader property
    • Identity Provider: Update IDPException to account for empty strings
    • Identity Provider: Added getResponseBody() method to IDPException
    • Documentation updates, minor bug fixes, and coding standards fixes
    Source code(tar.gz)
    Source code(zip)
  • 0.9.0(Feb 24, 2015)

    • Add AbstractProvider::prepareAccessTokenResult() to provide additional token response preparation to providers
    • Remove custom provider code from AccessToken
    • Add links to README for Dropbox and Square providers
    Source code(tar.gz)
    Source code(zip)
Owner
The League of Extraordinary Packages
A group of developers who have banded together to build solid, well tested PHP packages using modern coding standards.
The League of Extraordinary Packages
PHPoAuthLib provides oAuth support in PHP 7.2+ and is very easy to integrate with any project which requires an oAuth client.

PHPoAuthLib NOTE: I'm looking for someone who could help to maintain this package alongside me, just because I don't have a ton of time to devote to i

David Desberg 1.1k Dec 27, 2022
Laravel wrapper around OAuth 1 & OAuth 2 libraries.

Introduction Laravel Socialite provides an expressive, fluent interface to OAuth authentication with Facebook, Twitter, Google, LinkedIn, GitHub, GitL

The Laravel Framework 5.2k Dec 27, 2022
OAuth 1/2 Provider implementations for chillerlan/php-oauth-core. PHP 7.4+

chillerlan/php-oauth-providers Documentation See the wiki for advanced documentation. Requirements PHP 7.4+ a PSR-18 compatible HTTP client library of

chillerlan 4 Dec 2, 2022
OAuth Service Provider for Laravel 4

OAuth wrapper for Laravel 4 oauth-4-laravel is a simple laravel 4 service provider (wrapper) for Lusitanian/PHPoAuthLib which provides oAuth support i

Dariusz Prząda 693 Sep 5, 2022
OAuth Service Provider for Laravel 5

OAuth wrapper for Laravel 5 oauth-5-laravel is a simple laravel 5 service provider (wrapper) for Lusitanian/PHPoAuthLib which provides oAuth support i

null 2 Sep 19, 2018
OAuth client integration for Symfony. Supports both OAuth1.0a and OAuth2.

HWIOAuthBundle The HWIOAuthBundle adds support for authenticating users via OAuth1.0a or OAuth2 in Symfony. Note: this bundle adds easy way to impleme

Hardware Info 2.2k Dec 30, 2022
Open source social sign on PHP Library. HybridAuth goal is to act as an abstract api between your application and various social apis and identities providers such as Facebook, Twitter and Google.

Hybridauth 3.7.1 Hybridauth enables developers to easily build social applications and tools to engage websites visitors and customers on a social lev

hybridauth 3.3k Dec 23, 2022
A Collection of Providers for Laravel Socialite

A Collection of Providers for Laravel Socialite Documentation Full documentation for using these providers can be found at the Documentation. Contribu

Socialite Providers 402 Jan 6, 2023
This library extends the 'League OAuth2 Client' library to provide OpenID Connect Discovery support for supporting providers that expose a .well-known configuration endpoint.

OpenID Connect Discovery support for League - OAuth 2.0 Client This library extends the League OAuth2 Client library to provide OpenID Connect Discove

null 3 Jan 8, 2022
A spec compliant, secure by default PHP OAuth 2.0 Server

PHP OAuth 2.0 Server league/oauth2-server is a standards compliant implementation of an OAuth 2.0 authorization server written in PHP which makes work

The League of Extraordinary Packages 6.2k Jan 4, 2023
PHP 5.3+ oAuth 1/2 Client Library

PHPoAuthLib NOTE: I'm looking for someone who could help to maintain this package alongside me, just because I don't have a ton of time to devote to i

David Desberg 1.1k Dec 27, 2022
OAuth 1 Client

OAuth 1.0 Client OAuth 1 Client is an OAuth RFC 5849 standards-compliant library for authenticating against OAuth 1 servers. It has built in support f

The League of Extraordinary Packages 907 Dec 16, 2022
The first PHP Library to support OAuth for Twitter's REST API.

THIS IS AN MODIFIED VERSION OF ABRAHAMS TWITTER OAUTH CLASS The directories are structured and the class uses PHP5.3 namespaces. Api.php has a new

Ruud Kamphuis 51 Feb 11, 2021
An OAuth 2.0 bridge for Laravel and Lumen [DEPRECATED FOR LARAVEL 5.3+]

OAuth 2.0 Server for Laravel (deprecated for Laravel 5.3+) Note: This package is no longer maintaned for Laravel 5.3+ since Laravel now features the P

Luca Degasperi 2.4k Jan 6, 2023
Kaiju is an open source verification bot based on Discord's OAuth written in C# and PHP, with the functionality of being able to integrate the user to a new server in case yours is suspended.

What is Kaiju? Kaiju is an open source verification bot for Discord servers, based on OAuth and with permission for the server owner, to be able to mi

in the space 10 Nov 20, 2022
The most popular PHP library for use with the Twitter OAuth REST API.

TwitterOAuth The most popular PHP library for Twitter's OAuth REST API. See documentation at https://twitteroauth.com. PHP versions listed as "active

Abraham Williams 4.2k Dec 23, 2022
This module is intended to provide oauth authentication to freescout.

OAuth FreeScout This module is intended to provide oauth authentication to freescout. Module was tested on keycloak oauth provider with confidential o

Michael Bolsunovskyi 9 Dec 21, 2022
A Laravel 5 package for OAuth Social Login/Register implementation using Laravel socialite and (optionally) AdminLTE Laravel package

laravel-social A Laravel 5 package for OAuth Social Login/Register implementation using Laravel socialite and (optionally) AdminLTE Laravel package. I

Sergi Tur Badenas 42 Nov 29, 2022
The Salla OAuth Client library is designed to provide client applications with secure delegated access to Salla Merchant stores.

Salla Provider for OAuth 2.0 Client This package provides Salla OAuth 2.0 support for the PHP League's OAuth 2.0 Client. To use this package, it will

Salla 14 Nov 27, 2022