:atom: Social (OAuth1\OAuth2\OpenID\OpenIDConnect) sign with PHP :shipit:

Overview

SocialConnect Auth

Packagist License Scrutinizer Code Quality Build Status Scrutinizer Code Coverage FOSSA Status

Getting Started :: Documentation :: Demo

Open source social sign on PHP. Connect your application(s) with social network(s).

Code examples you can find in example directory

Features

  • Functional: support 30+ providers such as Facebook, Google, Twitter, GitHub, Vk and another.
  • Completely: We supports all social sign standarts: OAuth1/OAuth2/OpenID/OpenIDConnect.
  • Follow standards: We follow PSR-7/PSR-17/PSR-18 standards.
  • Modular: Use only what, that you need, see architecture overview.
  • Quality: CodeCoverage with 80%+ and We are using static analyzers.

Supported type of providers

Supported providers

SocialConnect/Auth support 30+ providers such as Facebook, Google, Twitter, GitHub, Vk and another.

See all 30+ provider

Installation & Getting Started

There is a documentation for Installation & Getting Started

Referenced projects

Versions

Version Status EOL PHP Version
3.x Current -- >= 7.1
2.x Maintenance 2020-06-01 >= 7.0
1.x EOL 2020-01-24 >= 5.5

Contributors

This project exists thanks to all the people who contribute. Contributions are welcome!

License

This project is open-sourced software licensed under the MIT License.

See the LICENSE file for more information.

FOSSA Status

Comments
  • OpenIdConnect JWT

    OpenIdConnect JWT "kid" is not optional for single key keysets.

    Hey!

    Issue

    I'm implementing a OpenIDConnect Provider for Unity IDM and encountered the problem, that the JWT kid header attribute is required, even if the jwks_uri only returns a single key.

    An InvalidJWT('No kid inside header, but $privateKeyOrSecret specified as JWKSet')-Exception is thrown.

    The OpenIDConnect/AbstractProvider::getJWKSet-Method always returns a JWKSet, even though the JWT::decode Method only expects a JWKSet if there are multiple keys present and a string of the key if there is only one key? (That's the reason i report this against this repo and not SocialConnect/jwx)

    My env

    PHP: 7.4.1

    Library: SocialConnect/auth

    Provider: Provider extending \SocialConnect\OpenIDConnect\AbstractProvider

    Provider options:

    [
        'options' => []
    ];
    

    Thanks :smiley_cat:

    opened by MaPePeR 7
  • help needed in implementing twitter

    help needed in implementing twitter

    I have tried this

    'Twitter' => [
           'enabled' => true,
           'keys' => [
                   'key' => '*******',
                   'secret' => 'd3DxnqDvh*******************zp1oY******'
            ],
            'includeEmail' => true
    ],
    

    But it is giving error as

     Provider response is not success 
    Undefined index: applicationId [ROOT/vendor/socialconnect/auth/src/Auth/CollectionFactory.php, line 86]
    Undefined index: applicationSecret [ROOT/vendor/socialconnect/auth/src/Auth/CollectionFactory.php, line 86]
    
    opened by anuj9196 7
  • Add Google::getScopeInline().

    Add Google::getScopeInline().

    Hey!

    Type: enhancement

    Link to issue:

    In raising this pull request, I confirm the following (please check boxes):

    • [x] I have read and understood the Contributing Guidelines.
    • [x] I have checked that another pull request for this purpose does not exist.
    • [ ] I wrote some tests for this PR.

    Small description of change:

    This allows specifying each scope as a separate array value in config instead of an array with single space separated string.

    Thanks :smiley_cat:

    opened by ADmad 7
  • How can I set User Agent for Github login

    How can I set User Agent for Github login

    Issue

    I upgraded CakePHP to v4 and with that auth plugin gets upgraded too to version 3.1.

    Is there a way to add User-Agent to the github login configuration? After upgrade I get this error when trying to login:

    2020-02-23 01:54:24 Error: [SocialConnect\Provider\Exception\InvalidResponse] API response with error code
    Request URL: /social-auth/callback/github?code=c06d043cc8ea5fcd53b4&state=cb84af630eefaf5fe23e6e503df08efd
    Referer URL: http://localhost:8765/
    Provider Response: Request forbidden by administrative rules. Please make sure your request has a User-Agent header (http://developer.github.com/v3/#user-agent-required). Check https://developer.github.com for other possible causes.
    
    Stack Trace:
    #0 .../vendor/socialconnect/auth/src/Provider/AbstractBaseProvider.php(296): SocialConnect\Provider\AbstractBaseProvider->executeRequest(Object(Zend\Diactoros\Request))
    #1 .../vendor/socialconnect/auth/src/OAuth2/Provider/GitHub.php(78): SocialConnect\Provider\AbstractBaseProvider->request('GET', 'user', Array, Object(SocialConnect\OAuth2\AccessToken))
    #2 .../vendor/admad/cakephp-social-auth/src/Middleware/SocialAuthMiddleware.php(275): SocialConnect\OAuth2\Provider\GitHub->getIdentity(Object(SocialConnect\OAuth2\AccessToken))
    #3 .../vendor/admad/cakephp-social-auth/src/Middleware/SocialAuthMiddleware.php(216): ADmad\SocialAuth\Middleware\SocialAuthMiddleware->_getProfile('github', Object(Cake\Http\ServerRequest))
    #4 .../vendor/admad/cakephp-social-auth/src/Middleware/SocialAuthMiddleware.php(178): ADmad\SocialAuth\Middleware\SocialAuthMiddleware->_handleCallbackAction(Object(Cake\Http\ServerRequest))
    #5 .../vendor/cakephp/cakephp/src/Http/Runner.php(73): ADmad\SocialAuth\Middleware\SocialAuthMiddleware->process(Object(Cake\Http\ServerRequest), Object(Cake\Http\Runner))
    #6 .../vendor/cakephp/cakephp/src/Routing/Middleware/RoutingMiddleware.php(156): Cake\Http\Runner->handle(Object(Cake\Http\ServerRequest))
    #7 .../vendor/cakephp/cakephp/src/Http/Runner.php(73): Cake\Routing\Middleware\RoutingMiddleware->process(Object(Cake\Http\ServerRequest), Object(Cake\Http\Runner))
    #8 .../vendor/cakephp/cakephp/src/Routing/Middleware/AssetMiddleware.php(68): Cake\Http\Runner->handle(Object(Cake\Http\ServerRequest))
    #9 .../vendor/cakephp/cakephp/src/Http/Runner.php(73): Cake\Routing\Middleware\AssetMiddleware->process(Object(Cake\Http\ServerRequest), Object(Cake\Http\Runner))
    #10 .../vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php(118): Cake\Http\Runner->handle(Object(Cake\Http\ServerRequest))
    #11 .../vendor/cakephp/cakephp/src/Http/Runner.php(73): Cake\Error\Middleware\ErrorHandlerMiddleware->process(Object(Cake\Http\ServerRequest), Object(Cake\Http\Runner))
    #12 .../vendor/cakephp/debug_kit/src/Middleware/DebugKitMiddleware.php(60): Cake\Http\Runner->handle(Object(Cake\Http\ServerRequest))
    #13 .../vendor/cakephp/cakephp/src/Http/Runner.php(73): DebugKit\Middleware\DebugKitMiddleware->process(Object(Cake\Http\ServerRequest), Object(Cake\Http\Runner))
    #14 .../vendor/cakephp/cakephp/src/Http/Runner.php(58): Cake\Http\Runner->handle(Object(Cake\Http\ServerRequest))
    #15 .../vendor/cakephp/cakephp/src/Http/Server.php(90): Cake\Http\Runner->run(Object(Cake\Http\MiddlewareQueue), Object(Cake\Http\ServerRequest), Object(App\Application))
    #16 .../webroot/index.php(40): Cake\Http\Server->run()
    #17 {main}
    

    On old CakePHP version 3.8 auth plugin vas version 1.2 (if i remember correctly) and login was working.

    My env

    PHP: 7.2.x

    Library: 3.1

    Provider: github

    Provider options:

    [
        'options' => []
    ];
    

    Will update some info later when I get to my machine.

    opened by dlednik 6
  • Bump up phpstan checks to level 4.

    Bump up phpstan checks to level 4.

    Hey!

    Type: code quality

    For all OAuth1 providers error as below is shown for getIdentity() method:

    Property SocialConnect\OAuth1\AbstractProvider::$consumerToken (SocialConnect\OAuth1\Token) does not accept SocialConnect\Provider\AccessTokenInterface.
    

    for statement

    $this->consumerToken = $accessToken;
    

    That's a valid error since SocialConnect\OAuth1\AbstractProvider::$consumerToken property is supposed to be an SocialAuth\OAuth1\Token instance which does not extend the AccessTokenInterface.

    I leave it to you to do the needful to fix it :slightly_smiling_face:.

    opened by ADmad 6
  • Fix code style

    Fix code style

    Hey!

    Type: code quality

    Link to issue:

    In raising this pull request, I confirm the following (please check boxes):

    • I have read and understood the Contributing Guidelines.
    • I have checked that another pull request for this purpose does not exist.

    Small description of change: Hello I was sad to look at the code and I decided to put it in order a bit Thanks :smiley_cat:

    opened by sektor-sumy 6
  • Enhancement: Add stateless mode.

    Enhancement: Add stateless mode.

    laravel/socialite which provides OAuth authentication for laravel has Stateless Authentication mode. Would be nice if socialconnect/auth also had such a feature.

    opened by ADmad 6
  • Fixed Facebook provider exception when it is parsing token

    Fixed Facebook provider exception when it is parsing token

    Hey!

    Type: bug fix Link to issue:

    In raising this pull request, I confirm the following (please check boxes):

    • [x] I have read and understood the Contributing Guidelines.
    • [x] I have checked that another pull request for this purpose does not exist.

    Small description of change: Facebook provider generate exception when try parse token. Thanks :smiley_cat:

    opened by pavellee 6
  • Provide receiving  mail field in mailru provider.

    Provide receiving mail field in mailru provider.

    Hey!

    Type: bug fix | new feature | code quality | documentation

    Link to issue:

    https://github.com/SocialConnect/auth/issues/134

    • [x] I have read and understood the Contributing Guidelines.
    • [x] I have checked that another pull request for this purpose does not exist.
    • [x] I wrote some tests for this PR.

    Small description of change:

    Thanks :smiley_cat:

    opened by dmitrymenshikov 5
  • Return Facebook login profile picture as other providers

    Return Facebook login profile picture as other providers

    Hey!

    Type: new feature

    Link to issue:

    • [x ] I have read and understood the Contributing Guidelines.
    • [ x] I have checked that another pull request for this purpose does not exist.
    • [ ] I wrote some tests for this PR.

    Small description of change:

    Google returns only one simple string with profile picture instead of Facebook wich returns an object. So i have override "picture" variable in return , and saved the original object into "picture_object" (if you need)

    Thanks lamasgergo

    opened by lamasgergo 5
  • Update GitLab API Version from 3 to 4

    Update GitLab API Version from 3 to 4

    Hey!

    Type: bug fix

    Link to issue: #157

    In raising this pull request, I confirm the following (please check boxes):

    • [x] I have read and understood the Contributing Guidelines.
    • [x] I have checked that another pull request for this purpose does not exist.
    • [ ] I wrote some tests for this PR.

    Small description of change:

    Update of API Version, see #157

    Thanks :smiley_cat:

    opened by makkus183 4
  • What about to add new providers (Telegram and Metamask)?

    What about to add new providers (Telegram and Metamask)?

    I think it's a good idea to add new providers (they are very popular now).

    Telegram - https://telegram.org

    Metamask - https://metamask.io

    What does the community and the author think?

    opened by nepster-web 0
  • Bump addressable from 2.6.0 to 2.8.1 in /docs

    Bump addressable from 2.6.0 to 2.8.1 in /docs

    Bumps addressable from 2.6.0 to 2.8.1.

    Changelog

    Sourced from addressable's changelog.

    Addressable 2.8.1

    • refactor Addressable::URI.normalize_path to address linter offenses (#430)
    • remove redundant colon in Addressable::URI::CharacterClasses::AUTHORITY regex (#438)
    • update gemspec to reflect supported Ruby versions (#466, #464, #463)
    • compatibility w/ public_suffix 5.x (#466, #465, #460)
    • fixes "invalid byte sequence in UTF-8" exception when unencoding URLs containing non UTF-8 characters (#459)
    • Ractor compatibility (#449)
    • use the whole string instead of a single line for template match (#431)
    • force UTF-8 encoding only if needed (#341)

    #460: sporkmonger/addressable#460 #463: sporkmonger/addressable#463 #464: sporkmonger/addressable#464 #465: sporkmonger/addressable#465 #466: sporkmonger/addressable#466

    Addressable 2.8.0

    • fixes ReDoS vulnerability in Addressable::Template#match
    • no longer replaces + with spaces in queries for non-http(s) schemes
    • fixed encoding ipv6 literals
    • the :compacted flag for normalized_query now dedupes parameters
    • fix broken escape_component alias
    • dropping support for Ruby 2.0 and 2.1
    • adding Ruby 3.0 compatibility for development tasks
    • drop support for rack-mount and remove Addressable::Template#generate
    • performance improvements
    • switch CI/CD to GitHub Actions

    Addressable 2.7.0

    • added :compacted flag to normalized_query
    • heuristic_parse handles mailto: more intuitively
    • dropped explicit support for JRuby 9.0.5.0
    • compatibility w/ public_suffix 4.x
    • performance improvements
    Commits
    • 8657465 Update version, gemspec, and CHANGELOG for 2.8.1 (#474)
    • 4fc5bb6 CI: remove Ubuntu 18.04 job (#473)
    • 860fede Force UTF-8 encoding only if needed (#341)
    • 99810af Merge pull request #431 from ojab/ct-_do_not_parse_multiline_strings
    • 7ce0f48 Merge branch 'main' into ct-_do_not_parse_multiline_strings
    • 7ecf751 Merge pull request #449 from okeeblow/freeze_concatenated_strings
    • 41f12dd Merge branch 'main' into freeze_concatenated_strings
    • 068f673 Merge pull request #459 from jarthod/iso-encoding-problem
    • b4c9882 Merge branch 'main' into iso-encoding-problem
    • 08d27e8 Merge pull request #471 from sporkmonger/sporkmonger-enable-codeql
    • Additional commits viewable 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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Update AbstractProvider.php

    Update AbstractProvider.php

    Hey!

    Type: bug fix

    Link to issue: https://github.com/SocialConnect/auth/issues/177#issue-1243331865

    In raising this pull request, I confirm the following (please check boxes):

    • [x] I have read and understood the Contributing Guidelines.
    • [x] I have checked that another pull request for this purpose does not exist.
    • [ ] I wrote some tests for this PR.

    Small description of change: Error fix Fatal error: Uncaught TypeError: Argument 1 passed to SocialConnect\OAuth1\AbstractProvider::getAccessToken() must be an instance of SocialConnect\OAuth1\Token, instance of __PHP_Incomplete_Class given, called in /var/www//system/library/social/vendor/socialconnect/auth/src/OAuth1/AbstractProvider.php

    Thanks :smiley_cat:

    opened by Morbids 0
  • Twitter connection error

    Twitter connection error

    Hey!

    Issue

    Twitter connection error

    Fatal error: Uncaught TypeError: Argument 1 passed to SocialConnect\OAuth1\AbstractProvider::getAccessToken() must be an instance of SocialConnect\OAuth1\Token, instance of __PHP_Incomplete_Class given, called in /var/www/***/system/library/social/vendor/socialconnect/auth/src/OAuth1/AbstractProvider.php on line 273 and defined in /var/www/***/system/library/social/vendor/socialconnect/auth/src/OAuth1/AbstractProvider.php:282 Stack trace: #0 /var/www/***/system/library/social/vendor/socialconnect/auth/src/OAuth1/AbstractProvider.php(273): SocialConnect\OAuth1\AbstractProvider->getAccessToken(Object(__PHP_Incomplete_Class), 'SsTxRkGpkj05tr2...') #1 /var/www/***/catalog/controller/extension/module/sociallogin.php(401): SocialConnect\OAuth1\AbstractProvider->getAccessTokenByRequestParameters(Array) #2 /var/www/***/system/storage/modification/system/engine/action.php(51): ControllerExtensionModuleSociallogin in /var/www/***/system/library/social/vendor/socialconnect/auth/src/OAuth1/AbstractProvider.php on line 282

    My env

    PHP: 7.4

    Library: socialconnect/auth/src/OAuth1/Provider/Twitter.php

    Provider: Twitter

    Provider options:

    [
        'options' => []
    ];
    

    Thanks :smiley_cat:

    opened by Morbids 0
  • Facebook connection error

    Facebook connection error

    Hey!

    Issue

    Facebook connection error

    Fatal error: Uncaught SocialConnect\OAuth2\Exception\InvalidState: State parameter inside Request is not similar to value from Session, possible CSRF attack in /var/www/***/system/library/social/vendor/socialconnect/auth/src/OAuth2/AbstractProvider.php:167 Stack trace: #0 /var/www/***/catalog/controller/extension/module/sociallogin.php(264): SocialConnect\OAuth2\AbstractProvider->getAccessTokenByRequestParameters(Array) #1 /var/www/***/system/storage/modification/system/engine/action.php(51): ControllerExtensionModuleSociallogin->FacebookLogin() #2 /var/www/***/catalog/controller/startup/router.php(25): Action->execute(Object(Registry)) #3 /var/www/***/system/storage/modification/system/engine/action.php(51): ControllerStartupRouter->index() #4 /var/www/***/system/engine/front.php(34): Action->execute(Object(Registry)) #5 /var/www/***/system/engine/front.ph in /var/www/***/system/library/social/vendor/socialconnect/auth/src/OAuth2/AbstractProvider.php on line 167

    My env

    PHP: 7.4

    Library: socialconnect/auth/src/OAuth2/Provider/Facebook.php

    Provider: Facebook

    Provider options:

    [
        'options' => [
    						'identity.fields' => [
    							'id',
    							'email',
    							'name',
    							'first_name',
    							'last_name',
    							'picture.width(99999)'
    						],
    					]
    ];
    

    Thanks :smiley_cat:

    opened by Morbids 0
  • VK Provider version update to 5.81

    VK Provider version update to 5.81

    Hey!

    Issue

    VK provider is throwing an error due to version. Please update it to '5.81'.

    ( ! ) Warning: Undefined property: stdClass::$response in /www/vendor/socialconnect/auth/src/OAuth2/Provider/Vk.php on line 119 Call Stack ... SocialConnect\OAuth2\Provider\Vk->getIdentity( $accessToken = class SocialConnect\OAuth2\AccessToken { protected $token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; protected $expires = 1652336114; protected $uid = 99999999 } )

    My env

    PHP: 8

    Library: socialconnect/auth/src/OAuth2/Provider/Vk.php

    Provider: VK

    Provider options:

    [
        'options' => [...]
    ];
    

    Thanks :smiley_cat:

    opened by ldim87 0
Releases(3.3.4)
  • 3.3.4(Sep 26, 2022)

    What's Changed

    • Add support for psr/simple-cache:^3 by @vortrixs in https://github.com/SocialConnect/auth/pull/179

    New Contributors

    • @vortrixs made their first contribution in https://github.com/SocialConnect/auth/pull/179

    Full Changelog: https://github.com/SocialConnect/auth/compare/3.3.3...3.3.4

    Source code(tar.gz)
    Source code(zip)
  • 3.3.3(May 7, 2022)

    What's Changed

    • Fix broken link in readme by @dominikb in https://github.com/SocialConnect/auth/pull/168
    • Allow v2 of PSR libs. by @ADmad in https://github.com/SocialConnect/auth/pull/174

    New Contributors

    • @dominikb made their first contribution in https://github.com/SocialConnect/auth/pull/168

    Full Changelog: https://github.com/SocialConnect/auth/compare/3.3.2...3.3.3

    Source code(tar.gz)
    Source code(zip)
  • 3.3.2(Nov 23, 2021)

  • 3.3.1(Oct 17, 2021)

  • 3.3.0(Jul 19, 2021)

    Feature:

    • [OAuth2] Provider\AzureAD - New provider. #140
    • [OAuth2] Provider\Gitlab - Upgrade to Gitlab API v4 #158

    Fixes:

    • [OAuth2] Provider\Discord - Fix population of user entity fields #146
    • [OAuth2] Provider\Odnoklassniki - Fix population of user entity fields 2f8fbe302a99bf97d19a1fec54c4db56127f52a2
    • [OAuth2] Provider\Gitlab - Fix population of user entity fields #156

    Diff: https://github.com/SocialConnect/auth/compare/3.2.2...3.3.0

    Source code(tar.gz)
    Source code(zip)
  • 3.2.2(Oct 19, 2020)

  • 3.2.1(Oct 15, 2020)

    Feature:

    • [OAuth2] Provider\Vk - use new API urls

    Fixes:

    • [OAuth2] Provider\Vk - fix populating email field from AccessToken

    Diff: https://github.com/SocialConnect/auth/compare/3.2.0...3.2.1

    Source code(tar.gz)
    Source code(zip)
  • 3.2.0(Oct 4, 2020)

  • 3.1.7(Aug 4, 2020)

    Fixes:

    • [OpenIDConnect] Provider\Google - PictureURL missing #121
    • [Common] Reference simple-cache properly in composer.json

    Diff: https://github.com/SocialConnect/auth/compare/3.1.6...3.1.7

    Source code(tar.gz)
    Source code(zip)
  • 3.1.6(May 4, 2020)

    Fix:

    [OpenID] Feature: Provider\Steam - populate pictureURL from avatarfull,

    Diff: https://github.com/SocialConnect/auth/compare/3.1.5...3.1.6

    Source code(tar.gz)
    Source code(zip)
  • 3.1.5(Apr 18, 2020)

    Fixes:

    • [OAuth1] AbstractProvider - check oauth_verifier before usage, #113
    • [OAuth2] Feature: Provider\GitHub - sign request by Authorization header (deprecation notice from GitHub)

    Diff: https://github.com/SocialConnect/auth/compare/3.1.4...3.1.5

    Source code(tar.gz)
    Source code(zip)
  • 3.1.4(Mar 28, 2020)

  • 3.1.3(Mar 20, 2020)

    Feature:

    • [Provider] Feature: Setup User-Agent if it's not specified #108 6f18293

    Diff: https://github.com/SocialConnect/auth/compare/3.1.2...3.1.3

    Source code(tar.gz)
    Source code(zip)
  • 3.1.2(Jan 30, 2020)

    Feature:

    • [OAuth2] Provider\Facebook - fetch birthday (string) to User.birthday as \DateTime field #104

    Diff: https://github.com/SocialConnect/auth/compare/3.1.1...3.1.2

    Source code(tar.gz)
    Source code(zip)
  • 3.1.1(Jan 29, 2020)

    Feature:

    • Let's test under PHP 7.4

    Fixes:

    • [OpenIDConnect] Fix: Provider\Apple - remove unneeded space (emailVerified was not filled)
    • [OpenIDConnect] Fix: AbstractProvider - extractIdentity must be public

    Diff: https://github.com/SocialConnect/auth/compare/3.1.0...3.1.1

    Source code(tar.gz)
    Source code(zip)
  • 3.1.0(Oct 31, 2019)

    Feature:

    • Introduce createAccessToken method
    • [OpenIDConnect] Introduce Provider\Apple
    • [OpenIDConnect] Introduce Add extractIdentity method

    Fixes:

    • [OpenIDConnect] PixelPin - latest changes in API

    Diff: https://github.com/SocialConnect/auth/compare/3.0.1...3.1.0

    Source code(tar.gz)
    Source code(zip)
  • 3.0.1(Oct 14, 2019)

    6 commits 14 files changed

    Fix:

    • [OAuth2] Provider/LinkedIn - migrate to v2 API + ability to fetch email #97

    Feature:

    • [Provider] Feature: Improve code quality for request method

    Diff: https://github.com/SocialConnect/auth/compare/3.0.0...3.0.1

    Source code(tar.gz)
    Source code(zip)
  • 3.0.0(Sep 12, 2019)

    It's first release of 3.x branch

    This release contain a lot of internals change with number of public API changes. Most of internal changes are done to do re-architecture to follow PSR standarts.

    187 commits, 208 files was changed

    It's a major release, do help you with migration, there are:

    Big thanks to @ADmad for this review!

    Features

    • Moving to PSR-18 interfaces for HTTP Client
    • Start using PSR-7 interfaces for Request/Response
    • Introduce request API for all providers, and rework all Providers to it
    • Introduce hierarchy for Exceptions
    • [OpenID] Feature: Check timestamp from nonce

    Code

    • App code quality and now code coverage is 80%+
    • Start using PHPStan as static analyzer
    • Add documentation & site

    Infra

    Breaking changes

    • BC: PHP 7.1 is the minimal PHP version
    • [OAuth2] BC: AccessToken - uid must be string
    • [OAuth2] BC: Rename setUid to setUserId

    Diff: https://github.com/SocialConnect/auth/compare/2.x...3.0.0

    Source code(tar.gz)
    Source code(zip)
  • 2.2.1(Jun 28, 2019)

  • 2.2.0(Jun 28, 2019)

    Feature:

    • Implement Session/Dummy, refs #74
    • [OAuth1] Introduce Provider\Trello
    • [OAuth1] Introduce auth option to pass parameters to the Provider
    • [OAuth2] Provider/Facebook - migrate to 3.3
    • [OAuth2] Provider/Vk - migrate to 5.100
    • [OAuth2] Provider/Google - support identity.fields

    Fix:

    • [OAuth2] Fix: Provider/Vk - hydrate screen_name to username

    Diff: https://github.com/SocialConnect/auth/compare/2.1.2...2.2.0

    Source code(tar.gz)
    Source code(zip)
  • 1.14.0(Jun 28, 2019)

    1.x branch is deprecated, this is the last release for it, please consider migration to 2.x!

    Feature:

    • Implement Session/Dummy, refs #74

    Fix:

    [OAuth2] Provider/Facebook - migrate to 3.3 [OAuth2] Provider/Vk - migrate to 5.100 [OAuth2] Feature: Provider\GitHub - hydrate name to User->fullname [OAuth2] Fix: Provider/Vk - hydrate screen_name to username

    Diff: https://github.com/SocialConnect/auth/compare/1.13.1...1.14.0

    Source code(tar.gz)
    Source code(zip)
  • 2.1.2(Jun 28, 2019)

    Fix:

    • [OAuth2] Fix: True stateless support (tested)

    Feature:

    • Start testing with PHP 7.3
    • [OAuth2] Feature: Improve messages for Exceptions

    Diff: https://github.com/SocialConnect/auth/compare/2.1.1...2.1.2

    Source code(tar.gz)
    Source code(zip)
  • 2.1.1(Aug 29, 2018)

  • 1.13.1(Aug 29, 2018)

  • 2.1.0(Aug 5, 2018)

    Feature

    [OAuth2] Provider\Meetup - introduce


    Diff: https://github.com/SocialConnect/auth/compare/2.0.0...2.1.0

    Big thanks to @heiglandreas 🍰

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0(May 24, 2018)

    Breaking changes!

    • PHP 5.x support was dropped
    • AbstractBaseProvider - method getRedirectUri was removed (unused)
    • CollectionFactory - rewrite register method

    Features:

    Hardcoded return URL #57

    Now, It's possible to use any redirectUri because we use provider as template literal

    http://localhost:8000/auth/cb/${provider}/

    Support stateless option for OAuth2 providers, implement #58

    'options' => [
        'stateless' => true
    ]
    

    Additional auth url parameters, implement #67

    'options' => [
        'auth.parameters' => [
            'hd' => 'domain.tld',
        ]
    ]
    

    LinkedIn - picture field was removed, please use pictureURL

    Diff: https://github.com/SocialConnect/auth/compare/1.13.0...2.0.0

    Source code(tar.gz)
    Source code(zip)
  • 1.13.0(May 12, 2018)

  • 1.12.0(May 9, 2018)

    Diff: https://github.com/SocialConnect/auth/compare/1.11.1...1.12.0

    Feature:

    • [OAuth2] Feature: MailRU - use HTTPs for API requests
    • [OAuth2] Feature: LinkedIn - hydrate pictureURL
    • [OAuth2] Feature: Odnoklassniki - hydrate pictureURL
    Source code(tar.gz)
    Source code(zip)
  • 1.11.1(May 7, 2018)

    Diff: https://github.com/SocialConnect/auth/compare/1.11.0...1.11.1

    Feature:

    [OpenId/Provider] Feature: Steam - simplify regexp in parseUserIdFromIdentity [OpenId/Provider] Feature: Steam - use HTTPS

    Source code(tar.gz)
    Source code(zip)
  • 1.11.0(May 6, 2018)

    Diff: https://github.com/SocialConnect/auth/compare/1.10.0...1.11.0

    Feature:

    • [OAuth2/Provider] Feature: MailRU - hydrate pic_big -> pictureURL
    • [OAuth2/Provider] Feature: Instagram - hydrate profile_picture -> pictureURL
    • [OAuth2/Provider] Feature: GitLab - hydrate avatar_url -> pictureURL
    Source code(tar.gz)
    Source code(zip)
Owner
SocialConnect
Libraries that help to connect with social networks
SocialConnect
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
Social (OAuth1\OAuth2\OpenID\OpenIDConnect) sign with PHP

Open source social sign on PHP. Connect your application(s) with social network(s).

SocialConnect 517 Dec 11, 2022
Single Sign-On for PHP (Ajax compatible)

Single Sign-On for PHP (Ajax compatible) Jasny SSO is a relatively simply and straightforward solution for single sign on (SSO). With SSO, logging int

Arnold Daniels 1.4k Jan 6, 2023
Sign into your Flarum forum with your Amazon account

Log In With Amazon A Flarum extension. Log in to your Flarum forum with Amazon. An addon for FoF OAuth Installation Install with composer: composer re

Ian Morland 0 May 4, 2022
Jasny SSO is a relatively simply and straightforward solution for single sign on (SSO).

Single Sign-On for PHP (Ajax compatible) Jasny SSO is a relatively simply and straightforward solution for single sign on (SSO). With SSO, logging int

Arnold Daniels 1.4k Jan 6, 2023
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
Braindead simple social login with Laravel and Eloquent.

Important: This package is not actively maintained. For bug fixes and new features, please fork. Eloquent OAuth Use the Laravel 4 wrapper for easy int

Adam Wathan 374 Dec 21, 2022
Login Social and product store

Run Stores Fake Marvel store This is a fake Marvel Store, here you can find a list of all the Marvel characters and simulate a shopping of its product

Ricardo Rito Anguiano 1 Jan 22, 2022
Laravel Auth is a Complete Build of Laravel 8 with Email Registration Verification, Social Authentication, User Roles and Permissions, User Profiles, and Admin restricted user management system.

Laravel Auth is a Complete Build of Laravel 8 with Email Registration Verification, Social Authentication, User Roles and Permissions, User Profiles, and Admin restricted user management system. Built on Bootstrap 4.

Jeremy Kenedy 2.8k Dec 31, 2022
A wrapper around Spatie’s Browsershot for managing social share images (OGP, Twitter etc.)

Very short description of the package This package allows you to create dynamic social sharing images in your Laravel apps. It uses Spatie’s Browsersh

Richard Le Poidevin 4 Dec 25, 2021
Social OAuth Authentication for Laravel 5. drivers: facebook, github, google, linkedin, weibo, qq, wechat and douban

Social OAuth Authentication for Laravel 5. drivers: facebook, github, google, linkedin, weibo, qq, wechat and douban

安正超 330 Nov 14, 2022
Discuz!ML is a multilingual version of Discuz!X, social network engine from Tencent Cloud

Discuz! ML (MultiLingual Discuz) Introduction Discuz!ML is a multilingual version of Discuz!X, social network engine from Tencent Cloud Related Sites

Valery Votintsev 3 Dec 7, 2022
💝The Plus (ThinkSNS+) is a powerful, easy-to-develop social system built with Laravel.

Plus (ThinkSNS+) Plus (ThinkSNS+) 是使用 Laravel 框架开发;一个功能强大、易于开发和动态拓展的社交系统。Plus 是遵循 PSR 规范 代码统一,并功能块松耦合。你安装完成 Plus 并不意味着已经成功安装了所有功能,因为 Plus 使用 模块化 的 原则,

Slim Kit 2.2k Jan 3, 2023
php database agnostic authentication library for php developers

Whoo Whoo is a database agnostic authentication library to manage authentication operation easily. Whoo provides you a layer to access and manage user

Yunus Emre Bulut 9 Jan 15, 2022
Single file PHP that can serve as a JWT based authentication provider to the PHP-CRUD-API project

Single file PHP that can serve as a JWT based authentication provider to the PHP-CRUD-API project

Maurits van der Schee 163 Dec 18, 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
A Native PHP MVC With Auth. If you will build your own PHP project in MVC with router and Auth, you can clone this ready to use MVC pattern repo.

If you will build your own PHP project in MVC with router and Auth, you can clone this ready to use MVC pattern repo. Auth system is implemented. Works with bootstrap 5. Composer with autoload are implemented too for future composer require.

null 2 Jun 6, 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
Multi-provider authentication framework for PHP

Opauth is a multi-provider authentication framework for PHP, inspired by OmniAuth for Ruby. Opauth enables PHP applications to do user authentication

Opauth – PHP Auth Framework 1.7k Jan 1, 2023