The module HybridAuth Social Login integrates HybridAuth library into Drupal and allows your users to login and register using: Facebook, Twitter, LinkedIn, Google, Yahoo, Windows Live, Foursquare, AOL, OpenID, Github, LastFM, PayPal, Vimeo, Disqus, Instagram, Tumblr, Vkontakte, Mail.ru, Yandex, Odnoklassniki, Twitch.tv, Steam and more.
This Drupal module doesn't depend on any external service, it doesn't load any external CSS or JS files (blazingly fast widget rendering) and it relies on third-party open source PHP library HybridAuth (provides communication with authentication providers; no need to support them in the module code) developed and supported on GitHub by broad community of contributors
- Download HybridAuth library and unpack it into "sites/all/libraries/hybridauth" folder
- Download and install (if not installed yet) the Chaos tool suite module
- Download and install this module; don't forget to assign permissions to use HybridAuth
1. If you can't save, because the "App Domains" part complains about "This must be derived from Secure Canvas URL, Unity Binary URL, Site URL, Mobile Site URL or Secure Page Tab URL. Check and correct the following domains: (missing-domain-here.com)" this is because you forgot to set your Site URL.
- Click "Add Platform"
- Select "Website"
- Add your Site URL and Mobile Site URL
- Click "Save Changes"
2. If you get "Given URL is not permitted by the application configuration.: One or more of the given URLs is not allowed by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the Apps domains." it can be overcomed by going to Settings -> Advanced, and by adding the used URL to "Valid OAuth redirect URIs"
1. If you get the error message "Exception: User profile request failed! Google returned an invalid response. in Hybrid_Providers_Google->getUserProfile() (line 90 of /home/xxxxxx/public_html/xxxxx/sites/all/libraries/hybridauth/Hybrid/Providers/Google.php)." you can resolve it as follows:
Go to your projects at https://code.google.com/apis/console#access and change the following settings:
Under "APIs & auth->APIs" > Enable: Contacts API (Google Apps APIs) and Google+ API (Social APIs)
Under "APIs & auth->Consent Screen" > Make sure to complete the consent screen and save
For details please see: https://www.drupal.org/node/2339085
1. If you get the error message "PHP Fatal error: Cannot redeclare class OAuthSignatureMethod_HMAC_SHA1 in /var/www/html/xxxxxx/sites/all/modules/oauth/lib/OAu" it might be a conflict with the OAuth module, which you probably installed for a Twitter module: "This error occurs if you try to use Hybridauth and OAuth common together. What really needs to happen is have each library properly namespace their class definitions. That way we don't get conflicts like this." If you can, disable the Oauth module and you will be fine. If you can't, there are at this time probably only "awful" solutions. Please refer to https://www.drupal.org/node/1661494.