Когда регистрируется новый пользователь, он автоматически регистрируется, что работает нормально. Я использую этот пароль следующим образом: '$ newUser-> password = bcrypt ($ request-> get (' password '));', он успешно хэширует пароль, таблица My users имеет столбец паролей, который является varchar 255. И i Кроме того, в таблице users также есть поля remember_token. 'Дд ($ request-> все)()' возвращает:Laravel 5.3 Auth :: попытка() всегда возвращает false
array:3 [
"email" => "[email protected]"
"_token" => "QIwnHacApWg3SotAXtoCCMFNK3FYFoFBAv2LSx4c"
"password" => "adminadmin"
]
И, электронной почты и пароль 100% правильно по отношению к записи пользователей таблицы. просьба является Ajax поэтому у меня есть следующий код JS:
$('.post-btn').click(function(){
$.ajax({
url: '/sign-in',
type: "post",
data: {'email':$('input[name=email]').val(), '_token': $('input[name=_token]').val(),'password': $('input[name=password]').val()},
success: function(data){
console.log(data);
window.location = '/';
}
});
});
Метод AUTHENTICATE:
именаpublic function authenticate(Request $request) {
$validator = Validator::make($request->all(),
[
'email' => "required",
'password' => 'required'
]
);
$user = array('email' => $request->get('email'),'password' => $request->get('password'));
if (Auth::attempt($user)) {
$response = array(
'status' => 'success',
'msg' => 'Successfully Logins.',
);
$user = new \App\User;
if(Auth::check()) {
}
return \Response::json($response);
} else {
$response = array(
'status' => 'failed',
'msg' => 'Invalid Credentials!',
);
return \Response::json($response);
}
}
поля ввода являются правильными.
Что еще мне не хватает?
почему бы не использовать 'Hash :: make' хэш пароля, который Laravel по умолчанию один. – jycr753
Это не похоже на хеширование, когда вы регистрируете свою учетную запись. Laravel хэширует ваш вход, когда вы пытаетесь войти в систему и сравниваете хэш с тем, что находится в вашей базе данных. Хэш не совпадает с «adminadmin», поэтому он терпит неудачу. –
@ jycr753 Позвольте мне попробовать –