Add user verification on registration

This commit is contained in:
DariusIII
2018-06-20 09:31:44 +02:00
parent 10d1b529bf
commit 133daf4e36
7 changed files with 86 additions and 130 deletions
@@ -6,12 +6,15 @@ use App\Models\User;
use App\Models\Settings;
use App\Models\UserRole;
use App\Models\Invitation;
use Illuminate\Auth\Events\Registered;
use Illuminate\Http\Request;
use Blacklight\utility\Utility;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Password;
use Illuminate\Foundation\Auth\RegistersUsers;
use Jrean\UserVerification\Facades\UserVerification;
use Jrean\UserVerification\Traits\VerifiesUsers;
class RegisterController extends Controller
{
@@ -28,6 +31,8 @@ class RegisterController extends Controller
use RegistersUsers;
use VerifiesUsers;
/**
* Where to redirect users after registration.
*
@@ -42,7 +47,7 @@ class RegisterController extends Controller
*/
public function __construct()
{
$this->middleware('guest');
$this->middleware('guest', ['except' => ['getVerification', 'getVerificationError']]);
}
/**
@@ -152,7 +157,7 @@ class RegisterController extends Controller
break;
}
$ret = $this->create(
$user = $this->create(
[
'username' => $userName,
'password' => $password,
@@ -164,11 +169,18 @@ class RegisterController extends Controller
]
);
if ($ret->id > 0) {
Auth::loginUsingId($ret->id);
event(new Registered($user));
UserVerification::generate($user);
UserVerification::send($user, 'User verification required');
if ($user->id > 0) {
Auth::loginUsingId($user->id);
User::updateSiteAccessed(Auth::id(), (int) Settings::settingValue('..storeuserips') === 1 ? $request->getClientIp() : '');
return redirect()->intended($this->redirectPath());
return $this->registered($request, $user)
?: redirect($this->redirectPath());
}
break;
case 'view': {