PHPackages                             arckinteractive/elgg\_hybridauth - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. arckinteractive/elgg\_hybridauth

ActiveElgg-plugin[Authentication &amp; Authorization](/categories/authentication)

arckinteractive/elgg\_hybridauth
================================

HybridAuth Integration for Elgg

2.1.0(8y ago)102199[6 issues](https://github.com/arckinteractive/elgg_hybridauth/issues)[2 PRs](https://github.com/arckinteractive/elgg_hybridauth/pulls)1GPL-2.0PHPPHP &gt;=5.5

Since May 24Pushed 7y ago10 watchersCompare

[ Source](https://github.com/arckinteractive/elgg_hybridauth)[ Packagist](https://packagist.org/packages/arckinteractive/elgg_hybridauth)[ Docs](http://arckinteractive.com)[ RSS](/packages/arckinteractive-elgg-hybridauth/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (3)Versions (17)Used By (1)

HybridAuth Client for Elgg
--------------------------

[](#hybridauth-client-for-elgg)

[![Elgg 2.3](https://camo.githubusercontent.com/8452daaef3ea7320843e9a5473e44a80e23ec99b34525f2c9bbf8c83ccad0cd6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f456c67672d322e332d6f72616e67652e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/8452daaef3ea7320843e9a5473e44a80e23ec99b34525f2c9bbf8c83ccad0cd6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f456c67672d322e332d6f72616e67652e7376673f7374796c653d666c61742d737175617265)

*elgg\_hybridauth* is an authentication tool that allows users to create new Elgg accounts using their social media accounts.

Providers included by default:

- AOL
- Facebook
- Foursquare
- Google
- LinkedIn
- Live
- MySpace
- OpenID
- Twitter
- Yahoo

Visit  for more information about HybridAuth library and additional providers that can be added to this distribution.

### Features

[](#features)

- Allows a single Elgg profile to be connected to multiple provider accounts
- Follows Elgg's native registration workflow
- Allows users to authorize / deauthorize providers in their account settings
- Optionally, allows administrators to import user settings from elgg\_social\_login and social\_connect
- Provides an interface to configure permissions scopes for each provider

### Upgrades

[](#upgrades)

- When upgrading, disable the plugin first, upload the updated plugin files, and reenable for updated settings to take effect

### Provider Setup

[](#provider-setup)

#### Setting up Facebook

[](#setting-up-facebook)

- Go to
- Create a new App
- Select Website with Facebook Login and enter your site URL
- Copy your App ID and App Secret to corresponding fields in the plugin settings
- For more on permissions scope, visit
- Make sure you have added a Website with URL as a Platform in App Settings
- Make sure you have added configured your domains in App Settings
- In Facebook Login settings, Enable Embbeded Brwoser OAuth Login
- Add  as a Valid OAuth Redirect URI

#### Setting up Twitter

[](#setting-up-twitter)

- Go to
- Create a new application
- Enter a Callback URL:
- Copy your Consumer Key and Consumer Secret to the corresponding fields in the plugin settings

#### Setting up Google

[](#setting-up-google)

- Go to
- Create a new project
- Switch to the API Access tab
- Click Create an OAauth 2.0 Client ID and fill out the form
- In Client ID settings: > Application Type is Web Application Your Site or Hostname - click on More options Authorized Redirect URIs - enter the Authentication URL
- Copy your Client ID and Client secret to corresponding fields in the plugin settings
- For more on permissions scope, see  and
- If you are experiencing difficulties with authorizing users using Google: > Ensure that you have activated APIs corresponding to the Permissions Scopes you have listed in the settings: Scopes listed by default will require `Google+` and `Contacts` API to work

#### Setting up LinkedIn

[](#setting-up-linkedin)

- Go to
- Create new application > In OAuth User Agreement, update the default scope to your needs. If you are unsure, check r\_basicprofile, r\_emailaddress, rw\_nus and r\_network You do not need to fill out redirect URLs
- Copy the API Key into the Public Key field in the plugin settings
- Copy the Secret Key into the Private Key field in the plugin settings

#### Setting up Yahoo!

[](#setting-up-yahoo)

- Go to
- Create new Project > Fill out the project information In Access Scopes, select This app requires access to private user data. Application Domain - enter Select APIs for private user data access: requires at least one API to be selected (Social Directory, for example)
- Copy the Consumer Key and Consumer Secret to corresponding fields in the plugin settings

#### Set up Live

[](#set-up-live)

- Go to
- Create you application > Set redirect domain to your site domain, i.e.
- Copy Client ID and Client Secret to corresponding fields in the plugin settings

#### Set up FourSquare

[](#set-up-foursquare)

- Go to
- Create your application
- Copy Client ID and Client Secret to corresponding fields in the plugin settings

### Developer Notes

[](#developer-notes)

Since 1.1.1, you can make use of `'hybridauth:authenticate', $provider` plugin hook to perform some actions, when the user is authenticated with a provider. This might be a good place to post stuff to user's wall or to grab a profile picture.

Example of how to post to the user's wall that the user Joined the site:

```
// do stuff when the user is authenticated with one of the providers
elgg_register_plugin_hook_handler('hybridauth:authenticate', 'all', 'elgg_hybridauth_on_authenticate');

function elgg_hybridauth_on_authenticate($hook, $provider, $return, $params) {

	$user = elgg_extract('entity', $params);

	try {
		$ha = new ElggHybridAuth();
		$adapter = $ha->getAdapter($provider);
		if ($adapter->isUserConnected()) {
			$status = $user->name . ' just joined ' . elgg_get_config('sitename') . ' at ' . elgg_get_site_url();
			$adapter->setUserStatus($status);
		}
	} catch (Exception $e) {
		// Something is wrong
	}
}
```

Upgrading
---------

[](#upgrading)

### To 1.3

[](#to-13)

- For performance reasons, `HYBRIDAUTH_PUBLIC_AUTH` is not longer defined. Call `elgg_get_plugin_setting('public_auth', 'elgg_hybridauth')` where needed.
- `base_url` and `debug_file` are no longer set via plugin settings. They are set dynamically using current installation path and wwwroot.
- Due to recent changes in LinkedIn scopes, HybridAuth was producing unreliable results. HA LinkedIn class and LinkedIn wrapper were replaced with custom implementation for the sake of stability.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance8

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 64.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~93 days

Recently: every ~52 days

Total

14

Last Release

3161d ago

Major Versions

1.3.2 → 2.0.02017-02-06

PHP version history (3 changes)1.2.0PHP &gt;=5.3.3

1.8.x-devPHP &gt;=5.4

2.0.0PHP &gt;=5.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/5071b1cd852e094b3f564962a625e04c227adc73af30c5b46b243ab8f20154a7?d=identicon)[hypeJunction](/maintainers/hypeJunction)

![](https://www.gravatar.com/avatar/55be67f1fa6d239b8d4b8e2bf01947571c33373a664a4f8b88433177e54ad64e?d=identicon)[beck24](/maintainers/beck24)

![](https://www.gravatar.com/avatar/bcb34825d6339c91f8a9413d7ef2d174c85910cb523cf33c1161d3759b5b6a00?d=identicon)[arckinteractive](/maintainers/arckinteractive)

---

Top Contributors

[![hypeJunction](https://avatars.githubusercontent.com/u/1202761?v=4)](https://github.com/hypeJunction "hypeJunction (56 commits)")[![beck24](https://avatars.githubusercontent.com/u/738363?v=4)](https://github.com/beck24 "beck24 (30 commits)")[![Facyla](https://avatars.githubusercontent.com/u/286492?v=4)](https://github.com/Facyla "Facyla (1 commits)")

---

Tags

pluginfacebookgoogleauthelggtwitterOpenIdloginsocialconnectyahoohybridauth

### Embed Badge

![Health badge](/badges/arckinteractive-elgg-hybridauth/health.svg)

```
[![Health](https://phpackages.com/badges/arckinteractive-elgg-hybridauth/health.svg)](https://phpackages.com/packages/arckinteractive-elgg-hybridauth)
```

###  Alternatives

[opauth/opauth

Multi-provider authentication framework for PHP

1.6k783.4k58](/packages/opauth-opauth)[socialconnect/auth

Social Connect Auth Component

568845.4k5](/packages/socialconnect-auth)[lorenzoferrarajr/lfj-opauth

LfjOpauth is a Zend Framework 2 module that enables support for many authentication providers through the Opauth framework.

2915.4k](/packages/lorenzoferrarajr-lfj-opauth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
