我尝试从其他控制器创建用户帐户后触发验证电子邮件。电子邮件成功发送,但是当我单击电子邮件时,它显示403错误,并显示消息“无效签名”。
我了解了Laravel中的签名不匹配错误,无法弄清楚在这种情况下我该怎么办。任何建议或技巧都非常感谢。
继续使用Laravel中的默认用户注册功能,并且当我从外部触发$user->sendEmailVerificationNotification();
功能时,验证电子邮件运行良好,但电子邮件已发送但未验证并给出403错误。我在Windows 10上使用XAMPP环境。Laravel版本是5.7.27。
讲师控制器
public function create(Request $request)
{
$data = $request->all();
$validator = Validator::make($data, [
'firstname' => ['required', 'string', 'max:255'],
'lastname' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:6'],
]);
if ($validator->fails()) {
return redirect('/admin/lecturers')
->withErrors($validator)
->withInput();
}
$user = User::create([
'firstname' => $data['firstname'],
'lastname' => $data['lastname'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'type' => UserType::LECTURER,
'email_verified_at' => date('Y-m-d H:i:s')
]);
if (!empty($user)) {
// create lecturer profile
Lecturer::create([
'user_id' => $user->id,
'first_name' => $data['firstname'],
'last_name' => $data['lastname'],
'email' => $data['email']
]);
$user->sendEmailVerificationNotification();
}
return redirect('/admin/lecturers');
}
我希望结果将成功为users表中的用户帐户设置email_verified_at时间戳,并且不会出现403错误页面,但是当前结果是4003“无效签名”页面。