2013-07-21 63 views
2

使用Anvard的HybridAuth L4包:Anvard HybridAuth Laravel實現 - 無法重定向到一個空的URL

我有這一切和運行,成功並嘗試完成在我的本地一個LinkedIn註冊。

在用戶的個人資料表中的記錄集已成功插入,但隨後我得到一個InvalidArgumentException:不能重定向到一個空的URL

任何想法?是否因爲我沒有投入使用路線:/ anvard/endpoint?我會在哪裏指定這個?在LinkedIn應用程序的詳細信息?

抓住吸管我將MAMP端口從8888更改回80,因爲我認爲它可能與HybridAuth中的base_url有關,但是它沒有做任何事情。

在src/routes.php文件目錄,它似乎得到

Log::debug('Anvard: login success'); 
Auth::loginUsingId($profile->user->id); 

然後 InvalidArgumentException

不能重定向到一個空的URL。

非常感謝

喬恩

回答

2

在Anvard路由文件[anvard/src目錄/ Atticmedia/Anvard/routes.php文件]

變化
回報重定向::回(); 重定向到您想要某人去的實際路線。

1

首先讓編輯您的/app/anvar/config/routes.php看起來是這樣的:

<?php 
return array(
    'index' => 'login', 
    'login' => 'login/{provider}', 
    'endpoint' => 'after/facebook', 
/* note that endpoint can not be the same pattern as login 
for example if I made it login/after it would go back to the login page with 'after' as $provider 
*/ 
     ); 

app/storage/logs/創建一個文件,並將其命名爲hauth_debug_file.txt然後 以下內容添加到您的/config/packages/anvard/hybridauth.php

"debug_mode" => true, 
"debug_file" =>"D:\www\Dev\bp4\app\storage\logs\hauth_debug_file.txt", 
//change this path with yours 

這會在文件中調試很多好的信息,然後你可以共享文件來幫助解決問題。所以,你的文件看起來是這樣的:

<?php 
return array(

    // 'base_url' => URL::route(Config::get('anvard::routes.login')), 

    'providers' => array (


     'Facebook' => array (
      'enabled' => true, 
      'keys' => array ('id' => 'yourr-key', 'secret' => 'your-secret'), 
      //'scope' => Input::get('permission_scope','email, user_about_me, user_birthday, user_hometown, user_likes, user_interests, user_location'), 
     ), 

     'Twitter' => array (
      'enabled' => false, 
      'keys' => array ('key' => '', 'secret' => '') 
     ), 

     'LinkedIn' => array (
      'enabled' => false, 
      'keys' => array ('key' => '', 'secret' => '') 
     ), 
    ), 
    "debug_mode" => true, 
    "debug_file" =>"D:\www\Dev\bp4\hauth_debug_file.txt", 

); 

另外,您可以通過設置這個配置配置::你/app/start/local.php 也設置/ anvard/src目錄/ Atticmedia/Anvard /路線.PHP我覺得它工作得更好,如果你改變return Redirect::back();return Redirect::to(Config::get('anvard::routes.endpoint'));

我也只好圍繞線230編輯Atticmedia/Anvard/Anvard.php到

$profile = new $ProfileModel(); 
     foreach ($attributes as $key => $v) { 
      $profile->$key = $v; 
     } 
     $profile = $this->applyAdapterProfileToExistingProfile($adapter_profile, $profile);