Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 07.11.2014 18:55:48

fearrr
Откуда: Россия
Сообщений: 9
Сайт

Не работает авторизация

Доброго времени суток!

Застрял на авторизации.

Сделал все банально по документации. Подскажите что не так?
При регистрации возвращаю авторизацию Auth::login($user); все проходит успешно.
Выхожу, пытаюсь войти через форму Auth::attempt возвращает false все время.

В модели User код:

PHP
 public static function login($data// Авторизация
    
{
            if (
Auth::attempt(['email' => $data['email'], 'password' => $data['password'] ], true)) {
              return 
Auth::user();
            }
            else{
                return 
false;
            }

    }
//endlogin

В UserController

PHP
 public function login() //Функция login
      
{
          
$data Input::all();
          
$rules =
            [
                
'email' => 'required|min:6|max:30|email',
                
'password' => 'required|min:6|max:30|alpha_dash'
            
];

          
$validator Validator::make($data$rules);

          if (
$validator->fails())
            {

                return 
View::make('errors.valid')->with('errors'$validator->messages()->toArray());
            }

            
$user User::login($data);

             if(!
$user){
                 return 
'Ошибка авторизации';
             }
}

Не в сети

#2 08.11.2014 17:56:18

Re: Не работает авторизация

Смотрите в сторону пароля. Как и где он у Вас хэшируется и хэшируется ли вообще? По хорошему, реализовать хэширование в mutator и проверить, что нигде больше не пользуется хэширование строки перед засовыванием в базу...

Не в сети

#3 08.11.2014 18:50:39

fearrr
Откуда: Россия
Сообщений: 9
Сайт

Re: Не работает авторизация

Да при регистрации хэшируется использую

PHP
'password' => Hash::make($data['password'])

Да и в базе пароль выглядит так

$2y$10$VIEjFhaUUXDbLLKR5VDlteh

Может проблема в Encryption Key?

А нужно ли хэшировать пароль при проверке??

Не в сети

#4 08.11.2014 19:08:53

Re: Не работает авторизация

Вполне возможно, что у вас двойное хэширование. При авторизации хэшировать не нужно - нужно только передавать пароль. Класс авторизации уже захэширует при проверке.

Не в сети

#5 08.11.2014 19:49:59

fearrr
Откуда: Россия
Сообщений: 9
Сайт

Re: Не работает авторизация

А как можно проверить нет ли двойного хэширования?
Я убрал Hash::make посмотрел БД, пароль голый.

Не в сети

#6 08.11.2014 21:41:27

fearrr
Откуда: Россия
Сообщений: 9
Сайт

Re: Не работает авторизация

Попробовал передать через get, тоже самое. В чем же ошибка?

Не в сети

#7 08.11.2014 21:59:56

fearrr
Откуда: Россия
Сообщений: 9
Сайт

Re: Не работает авторизация

Перепробовал все возможные варианты авторизации из различных исходников, судя по всему ошибок в коде нет. Может проблема с кодировкой или базой или соль и соль в проверке не совпадают?

Не в сети

#8 09.11.2014 00:27:28

fearrr
Откуда: Россия
Сообщений: 9
Сайт

Re: Не работает авторизация

Решение найдено!
Проблема была в том что в поле remember_token я вместо типа text указал varchar и оно имело длину имело 300 символов.

P.S. Огромное спасибо товарищу slider23 ☺

Изменено fearrr (09.11.2014 00:28:37)

Не в сети

Подвал раздела