2013-07-21 2 views
2

Использование пакета HybridAuth L4 Anvard в:Anvard HybridAuth Laravel реализация - Невозможно перенаправить на пустой URL

У меня есть все это и работает, и успешно пытались и завершить регистрацию LinkedIn на моем локальном хосте.

В наборы записей в пользовательских и профильных таблиц были вставлены успешно, но затем я получаю InvalidArgumentException: Не удается перенаправить к пустому URL

Любые идеи? Это потому, что я не использовал маршрут:/anvard/endpoint? Где я могу это указать? В деталях приложения LinkedIn?

Сцепление соломинкой Я сменил порт MAMP с 8888 на 80, так как думал, что это как-то связано с base_url в HybridAuth, но это ничего не делало.

В Src/routes.php реж, кажется, чтобы добраться до

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

А потом InvalidArgumentException

Не удается перенаправить на пустой URL.

Большое спасибо

Jon

ответ

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'));

Я также должен был изменить Atticmedia/Anvard/Anvard.php вокруг линии 230 к

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