Hybrdigniter is an integration of HybridAuth and CodeIgniter. In this sub-tutorial, I am going to explain the usage of /applicaion/config/hybridauthlib.php which is found in the installation of HybridIgniter.
Complete Tutorial : Social media login setup in Codeigniter Site using Hybridigniter
The complete File
[expand]
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /*! * HybridAuth * http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth * (c) 2009-2012, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html */ // ---------------------------------------------------------------------------------------- // HybridAuth Config file: http://hybridauth.sourceforge.net/userguide/Configuration.html // ---------------------------------------------------------------------------------------- $config = array( // set on "base_url" the relative url that point to HybridAuth Endpoint 'base_url' => '/hauth/endpoint', "providers" => array ( // openid providers "OpenID" => array ( "enabled" => true ), "Yahoo" => array ( "enabled" => true, "keys" => array ( "id" => "", "secret" => "" ), ), "AOL" => array ( "enabled" => true ), "Google" => array ( "enabled" => true, "keys" => array ( "id" => "", "secret" => "" ), ), "Facebook" => array ( "enabled" => true, "keys" => array ( "id" => "", "secret" => "" ), ), "Twitter" => array ( "enabled" => true, "keys" => array ( "key" => "", "secret" => "" ) ), // windows live "Live" => array ( "enabled" => true, "keys" => array ( "id" => "", "secret" => "" ) ), "MySpace" => array ( "enabled" => true, "keys" => array ( "key" => "", "secret" => "" ) ), "LinkedIn" => array ( "enabled" => true, "keys" => array ( "key" => "", "secret" => "" ) ), "Foursquare" => array ( "enabled" => true, "keys" => array ( "id" => "", "secret" => "" ) ), ), // if you want to enable logging, set 'debug_mode' to true then provide a writable file by the web server on "debug_file" "debug_mode" => (ENVIRONMENT == 'development'), "debug_file" => APPPATH.'/logs/hybridauth.log', ); /* End of file hybridauthlib.php */ /* Location: ./application/config/hybridauthlib.php */
[/expand]
Enable or Disable a social media service
This feature allows you to Enable or Disable social media services. For example, if I wish to disable twitter, then I will do the following:
FROM"Twitter" => array ( "enabled" => true, "keys" => array ( "key" => "", "secret" => "" ) ),To
"Twitter" => array ( "enabled" => false, "keys" => array ( "key" => "", "secret" => "" ) ),
Add Social Media Developer “key”/”id” and “secret”
The config file also allows you to add developer app specific key/id and secret code in the config file that allows integration for that specific app.
For example, look at the highlighted lines below:
$config = array( // set on "base_url" the relative url that point to HybridAuth Endpoint 'base_url' => '/hauth/endpoint', "providers" => array ( // openid providers "OpenID" => array ( "enabled" => true ), "Yahoo" => array ( "enabled" => true, "keys" => array ( "id" => "", "secret" => "" ), ), "AOL" => array ( "enabled" => true ), "Google" => array ( "enabled" => true, "keys" => array ( "id" => "", "secret" => "" ), ), "Facebook" => array ( "enabled" => true, "keys" => array ( "id" => "", "secret" => "" ), ), "Twitter" => array ( "enabled" => true, "keys" => array ( "key" => "", "secret" => "" ) ), // windows live "Live" => array ( "enabled" => true, "keys" => array ( "id" => "", "secret" => "" ) ), "MySpace" => array ( "enabled" => true, "keys" => array ( "key" => "", "secret" => "" ) ), "LinkedIn" => array ( "enabled" => true, "keys" => array ( "key" => "", "secret" => "" ) ), "Foursquare" => array ( "enabled" => true, "keys" => array ( "id" => "", "secret" => "" ) ), ), // if you want to enable logging, set 'debug_mode' to true then provide a writable file by the web server on "debug_file" "debug_mode" => (ENVIRONMENT == 'development'), "debug_file" => APPPATH.'/logs/hybridauth.log', );
Understand this to avoid “providers” variable error
While developing, you might happen to see an error saying that the $providers variable is not defined. Well, please understand that this is where the providers array is. This will expand to the Controller and then lead to the View.
$config = array( // set on "base_url" the relative url that point to HybridAuth Endpoint 'base_url' => '/hauth/endpoint', "providers" => array ( // openid providers "OpenID" => array ( "enabled" => true ),
I hope this helps. The tutorial in future will continue HERE
Please do share this blog post and do comment if you liked this guide.