Hybrid auth with Yii causing a redirect loop

4.1k views Asked by At

I am trying to implement twitter sign in on my website using hybridauth. I know there is a hybrid auth plugin for Yii. I am not using it because last time I used I ran into some problems. I am trying to implement the core version of hybrid auth.

I am calling

$hybridauth = new Hybrid_Auth( Yii::app()->params['hybridauth'] );
$adapter = $hybridauth->authenticate( 'Twitter');

But for some reason it redirects to http://localhost/yiiauth/authtest/?hauth.start=Twitter&hauth.time=1350973441 , which causes a redirect loop. Is there any way to solve this problem ? My hybrid auth configuration is as follows :

'params'=>array(

    'hybridauth'=>array(
        "base_url" => "http://localhost/yiiauth/authtest/", 

        "providers" => array ( 
            "Twitter" => array ( 
                "enabled" => true,
                "keys"    => array ( "key" => "mykey", "secret" => "mysecret" ) 
            ),
        ),


        "debug_mode" => false,

        "debug_file" => "",
    )
),

My hybridauth files are in /protected/extensions/hybridauth and I include the Hybrid/Auth.php in the top of the index.php file

2

There are 2 answers

0
Shiv On

Did you noticed the base url in your config? Its where the callback is returned during auth and you must use live web domain to test it.

"base_url" => "http://localhost/yiiauth/authtest/",

Also twitter requires additional tokens to be created , i hope you have done that already.

I have working hybridauth on my test website: www.bemployable.com

1
theRockers On
  1. Hybrid Auth login for twitter and facebook requires a valid domain not localhost.

  2. Your base_url in configuration file "hybridauth.php" should be set to "/hauth/endpoint" i.e. it must point to the endpoint. If you have removed index.php through .htaccess then use "/index.php/hauth/endpoint".

  3. Set permissions of hybridauth.log in Logs folder to writable.

Reference Link: http://hybridauth.sourceforge.net/userguide/Configuration.html