/** * Handle a registration request for the application. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function register(Request $request) { $validator = $this->validator($request->all()); if ($validator->fails()) { $this->throwValidationException($request, $validator); } $user = $this->create($request->all()); $broker = $this->getBroker(); $credentials = $request->only('email'); Verification::broker($broker)->sendVerificationLink($credentials, function (Message $message) { $message->subject($this->getEmailSubject()); }); if (config('verification.verify')) { return redirect($this->verificationRedirectPath()); } Auth::guard($this->getGuard())->login($user); return redirect($this->redirectPath()); }
/** * Send a verification link to the given user. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function sendVerificationLinkEmail(Request $request) { $this->validate($request, ['email' => 'required|email']); $broker = $this->getBroker(); $credentials = $request->only('email'); $response = Verification::broker($broker)->sendVerificationLink($credentials, function (Message $message) { $message->subject($this->getEmailSubject()); }); switch ($response) { case Contracts\VerificationBroker::VERIFICATION_LINK_SENT: return $this->getResendLinkEmailSuccessResponse($response); default: return $this->getResendLinkEmailFailureResponse($response); } }