Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

I can't login to my own admin account in a laravel project. I KNOW the details are correct. Using Table Plus

I’m doing a small project. I have a database that is meant to verify logins. I’m creating an Admin Account with my own email, I have the bog-standard error messages of:

  • "Unregistered Email"
  • "Password or Email Incorrect"
  • "Missing Password"
    etc

When I enter JUST my email, my login page recognizes it and doesn’t throw an error message (so I know it’s accessing my database correctly).
When I enter my password, the login page declares the email or password is incorrect.

I know it’s recognizing my email, so it’s the password that’s incorrect, but I also KNOW it’s correct (I typed it manually into my Table Plus database.)

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

Images included below: (This bug is killing me, help would be EXTREMELY appreciated)

Email being recognized first picture.
My database entries second picture.
Third picture is showing my password not being accurate. In the picture the password is plain text, because I am trouble shooting.

>Solution :

You are using a blank password stored in the database, this is a very dangerous approach and not recommended at all, you need to hash your passwords in order to login, I’m not sure what authentication you are using (ui/sanctum/breeze) but I recommend you use laravel/breeze, instead of building your own authentication using: https://laravel.com/docs/9.x/starter-kits#breeze-and-blade

Once that is installed, you can simply modify the blade to look anyway you like it to look.


To hash a password to be stored correctly you can do the following:

User Controller (Top Area):

use Illuminate\Support\Facades\Hash;
use Illuminate\Validation\Rule;

User Controller (store method example):

/**
    * Store a newly created resource in storage.
    *
    * @param  \Illuminate\Http\Request  $request
    * @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
    $data = request()->validate([
        'email' => ['required','email',Rule::unique('users')],
        'password' => 'required',
    ]);
        
    $user = new User();
        $user->password = Hash::make($request->password);
        $user->email = $request->email;
    $user->save();
        
    return redirect('somewhere');
}
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading