I want to use the authentication in laravel 4 I changed the table's and mobel's name
when the user register, I has the password and save it, the hash is :
$password = Hash::make(Input::get('password'));
and then when the user login I want ot authenticate him/her first. I do that like this:
if (Auth::attempt(array('username' => Input::get('usernaem'), 'password' => Hash::make(Input::get('password')))))
{
return Redirect::intended('dashboard');
}
and that never success. I tried to debug the code and it seems that the Hask::make
function always give a different result.
Am I using a good authentication methods? what is the solution for that hash function ?
Many thanks
At first, don't use Hash
when attempting, it should be like this:
Auth::attempt(array('username' => Input::get('username'), 'password' => Input::get('password')));
Since you stored the password in your database manually by making a hash using Hash::make()
and then pasted it in the database. So it could be a problem. Re-enter the password into the database and insert it pragmatically, then try again.
Also, you may check the password using Hash::check('password', $hashedPassword)
. Read more about security on Laravel
website. Use migration to populate fake data, don't manually put any data into database.
Do not hash the password in the auth::attempt() function the code should be like this:
Auth::attempt(array('username' => Input::get('username'), 'password' => Input::get('password')));
The auth::attempt() will hash the password and then check if it matches the one stored in the database