外部触发验证电子邮件时,签名无效

时间:2019-03-31 05:11:27

标签: php laravel-5.7 email-verification

我尝试从其他控制器创建用户帐户后触发验证电子邮件。电子邮件成功发送,但是当我单击电子邮件时,它显示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“无效签名”页面。

0 个答案:

没有答案