Внедрение Anvard HybridAuth Laravel - невозможно перенаправить на пустой URL

Использование пакета Anvard HybridAuth L4:

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

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

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

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

В директории src / rout.php кажется, что

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

И тогда InvalidArgumentException

Невозможно перенаправить на пустой URL.

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

Джон

2 ответа

В файле маршрута Anvard [anvard / src / Atticmedia / Anvard / rout.php]

+ Изменить
return Redirect::back(); перенаправить на фактический маршрут, по которому вы хотите, чтобы кто-то пошел

Прежде всего, сделайте правку /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",

);

В качестве альтернативы вы можете установить эти конфигурации с помощью config::set в вашем /app/start/local.php также в /anvard/src/Atticmedia/Anvard/routes.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);
Другие вопросы по тегам