我使用Laravel 5
版本的Sentinel
包authentication
。我跟着 this instruction
Registration
运行正常。但login
没有返回任何内容。
$credentials = [
"email" => 'test@gmail.com',
"password" => 'password'
];
$user = Sentinel::authenticate($credentials);
print_r($user);
exit;
$user
即使我提供了正确的电子邮件,也会返回empty
密码。
(例如:数据)
Users
表包含以下数据
Email Password
test@gmail.com $2y$10$Wu2dY8zQNJPBR
任何人都指导我,如何调试此问题来修复它?或任何有用的想法。提前谢谢。
答案 0 :(得分:1)
我终于解决了这个问题。有时我们找不到小问题:)
问题是密码长度,我改变了20个字符。但sentinel
在存储到db表之前加密密码。此加密长度超过20个字符。
部分密码仅存储在数据库中。这就是登录无效的原因。
我在迁移中更改了以下行
$table->string('password', 20);
到
$table->string('password');
所以现在密码长度应该是255个字符,这是VARCHAR的默认长度。