首页 > 解决方案 > 为什么我在尝试使用 Laravel 基本身份验证登录时不断收到 401 Unauthorized 错误?

问题描述

我需要对 Laravel 基本身份验证的这种行为进行解释。首先我有一个带有工厂文件的播种器类来生成用户。

$factory->define(User::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'email_verified_at' => now(),
        'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
        'remember_token' => Str::random(10),
    ];
});

我尝试使用 PHPMyAdmin 从我的数据库中提取的用户详细信息登录 在此处输入图像描述

这是我的身份验证中间件调用: 在此处输入图像描述

另外,我尝试通过 PHPMyAdmin 直接创建一个新用户,但是每当我尝试登录时,我都得到了401 Unauthorized

我正在构建一个 API 并尝试使用 Postman 登录,并且我有一个干净的 Laravel 7 安装,是的,我知道我正在输入电子邮件作为用户名和密码。

标签: phplaravelauthenticationlaravel-authentication

解决方案


你应该使用你的工厂'password' => Hash::make('password')

正如您在文档中看到的那样,https: //laravel.com/docs/7.x/hashing#introduction Laravel 默认使用 BCrypt 来生成密码哈希

如果您确实需要手动创建哈希,请前往https://bcrypt-generator.com/并复制那里生成的哈希(默认情况下,Laravel 使用 12 轮)


推荐阅读