In laravel I want to check if user enter current password than check with that password which is store in database in that user data. If correct than continue otherwise give
As Hiren has mentioned you can use the default registered hasher as that is passed to the specific UserProvider used. The default is Illuminate\Hashing\BcryptHasher
.
You can use it a couple of ways:
$user = User::find($id);
$hasher = app('hash');
if ($hasher->check('passwordToCheck', $user->password)) {
// Success
}
$user = User::find($id);
if (Hash::check('passwordToCheck', $user->password)) {
// Success
}
password_verify
also works. However that works because the default hashing algorithm it uses is bcrypt.if (password_verify('passwordToCheck', $user->password)) {
// Success
}
auth()->attempt($request->only('email', 'password'))
success()
method to a div. If it is an error, show the error message inside the error()
method to a div.Just do it
public function authenticateEmployee(array $data){
$email = $data['email'];
$password = $data['password'];
$user = User::where('email', '=', $email)->first(); //get db User data
if(Hash::check($password, $user->password)) {
return response()->json(['status'=>'false','message'=>'password is correct']);
} else {
return 'false';
}
}
When the user attempts to access the page, redirect them to an auth page.
Do the ajax call then do the following in your php:
public function check(Request $request)
{
if(Hash::check($request->password, $user->password)) {
// They match
} else {
// They don't match
}
}
I havn't tested this so it might not work.
if (Hash::check($request->password, Auth::user()->password)) { //Sucess }
you can use hash:check method.
create password using hash:
$password = Hash::make('secret');
check password:
if (Hash::check('secret', $hashedPassword))
{
// The passwords match...
}