2013-06-18 105 views
2

我试图按照教程在这里建立一个Facebook登录与hybridauth本地主机服务器上:测试的Facebook登录使用Laravel 4

http://www.mrcasual.com/on/coding/laravel4-package-management-with-composer/#additional_resources

我跑我的网站本地服务器上(我成立一个dyndns主机名,所以我可以让我的Facebook应用指向它)。这里就是我想要的Facebook登录是页面:

http://mactest.dynalias.com:8888/crowdsets/laravel-master/public/fans/landing

在Facebook上:

应用程序域:mactest.dynalias.com 网站网址:http://mactest.dynalias.com

这里是我的代码:

hybridauth.php:

<?php 
return array( 
    "base_url" => "http://mactest.dynalias.com:8888/crowdsets/laravel-master/public/fans/landing/auth/", 
    "providers" => array (
     "Google"  => array (
      "enabled" => false, 
      "keys"  => array ("id" => "ID", "secret" => "SECRET"), 
      ), 
     "Facebook" => array (
      "enabled" => true, 
      "keys"  => array ("id" => "***************", "secret" => "******************"), 
      "scrop"  => "first_name,last_name,email,user_birthday,gender,user_location,friends, 
      ), 
     "Twitter" => array (
      "enabled" => false, 
      "keys"  => array ("key" => "ID", "secret" => "SECRET") 
      ) 
    ), 
); 

routes.php文件:

Route::get('fans/landing', array('uses' => '[email protected]')); 

Route::get('fans/landing/{action?}', array("as" => "hybridauth", function($action = "") 
{ 
    // check URL segment 
    if ($action == "auth") { 
     // process authentication 
     try { 
      Hybrid_Endpoint::process(); 
     } 

     catch (Exception $e) { 
      // redirect back to http://URL/social/ 
      return Redirect::route('hybridauth'); 
     } 
     return; 
    } 

    try { 
     // create a HybridAuth object 
     $socialAuth = new Hybrid_Auth(app_path() . '/config/hybridauth.php'); 
     // authenticate with Google 
     $provider = $socialAuth->authenticate("facebook"); 
     // fetch user profile 
     $userProfile = $provider->getUserProfile(); 
    } 

    catch(Exception $e) { 
     // exception codes can be found on HybBridAuth's web site 
     return $e->getMessage(); 
    } 

    // access user profile data 
    echo "Connected with: <b>{$provider->id}</b><br />"; 
    echo "As: <b>{$userProfile->displayName}</b><br />"; 
    echo "<pre>" . print_r($userProfile, true) . "</pre><br />"; 

    // logout 
    $provider->logout(); 
})); 

笔者认为:

<div id="facebook"> 
<span class="button-signin-facebook"><div class="facebook_connect_wrap small"><a href="?provider=Facebook">Sign up with Facebook</a></div></span> 
</div> 

当我点击Facebook的按钮,好像没有任何反应,和URL只是更改为:

http://mactest.dynalias.com:8888/crowdsets/laravel-master/public/fans/landing?provider=Facebook 

回答

3

尝试删除您的hybridauth.php base_url上的斜线。适用于我。通过@MrCasual here

1
提供答案

更改base_url到:

URL::route('hybridauth', array('action' => 'auth')); 
0

[SOLUTION]删除尾随斜线:

+0

这是不一样的问题。 – 2014-05-14 22:17:21