2013-02-11 3 views
1

Я обволакиваю голову вокруг Laravel и комплект Oneauth для входа в систему через твиттер.Почему мой логин Laravel + OneAuth не работает?

Я следовал учебники Майкла Калкин: http://youtu.be/xlUFiZhwFiE

  • Я установил OneAuth через ремесленник
  • запустить миграцию
  • создал свой твиттер приложение
  • создал таблицу с пользователя id, social_uid, social_provider, имя пользователя, адрес электронной почты
  • создал контроллер connect.php: class Connect_Controller extends OneAuth\Auth\Controller {}
  • направляется для подключения: Route::controller('connect');
  • переписаны функции (ниже) в видео, которые делают что-то вроде чувства ко мне
  • очистили кэш браузера

Так, в тестировании:

  • Я посетил ссылку mysite.dev/connect/session/twitter
  • нажал кнопку вызывается щебет, чтобы запросить авторизацию (создал новую учетную запись для тестирования)
  • уполномочила твиттер
  • был возвращен users/social_register
  • новый пользователь был добавлен в таблицу oneauth_client
  • фрагмент кода ниже, следует просто отображать возвращаемые данные пользователя, но то, что происходит на самом деле является то, что хотя URL читает/пользователей/social_register , появится view users.index!

контроллер: users.php

... 
public function get_social_register() 
{ 
    $user_data = Session::get('oneauth'); 

    dd($user_data); 
} 

(полный код здесь: https://gist.github.com/ptim/a29bb86b3fb7455c19ba)

ах, и мои маршруты:

Route::controller('connect'); 
Route::get('users/(:any)', '[email protected]'); 
Route::controller(Controller::detect()); 

некоторая избыточность там ... не уверены, если это имеет значение

Любые предложения оценены! Tx, Tim

ответ

3

Вы перенаправляют пользователей/(: все) запрос к индексной функции контроллера пользователей с этим:

Route::get('users/(:any)', '[email protected]'); 

Попробуйте вместо вверх:

Route::any('users/(:any?)', array('uses' => '[email protected](:1)', 'defaults'=>'index')); 
+0

фантастика! tx, routing все еще темное искусство для меня! – ptim

Смежные вопросы