clean up social login verifications

This commit is contained in:
hackerESQ
2024-10-20 09:41:25 -05:00
parent 6ce9833e66
commit 5555e95e48
4 changed files with 33 additions and 46 deletions
@@ -93,4 +93,35 @@ class ConnectedAccountController extends Controller
throw new Exception('Please provide a valid social provider.');
}
}
public function verify(string $verification_id)
{
$verification = ConnectedAccountVerification::findOrFail($verification_id);
if (!$verification->verified_at) {
// mark request as verified
$verification->verified_at = now();
$verification->save();
// mark user as verified
$user = User::where('email', $verification->email)->firstOrFail();
$user->email_verified_at = now();
$user->save();
// add connected account
$user->connectedAccounts()->create([
...$verification->connected_account,
...[
'provider' => $verification->provider,
'provider_id' => $verification->provider_id,
]
]);
Auth::login($user);
}
return redirect(route('dashboard'));
}
}
@@ -1,44 +0,0 @@
<?php
namespace App\Http\Controllers;
use App\Models\User;
use App\Http\Controllers\Controller;
use App\Models\ConnectedAccount;
use Illuminate\Support\Facades\Auth;
use App\Models\ConnectedAccountVerification;
class VerifyConnectedAccountController extends Controller
{
public function __invoke(string $verification_id)
{
$verification = ConnectedAccountVerification::findOrFail($verification_id);
if (!$verification->verified_at) {
// mark request as verified
$verification->verified_at = now();
$verification->save();
// mark user as verified
$user = User::where('email', $verification->email)->firstOrFail();
$user->email_verified_at = now();
$user->save();
// add connected account
$user->connectedAccounts()->create([
...$verification->connected_account,
...[
'provider' => $verification->provider,
'provider_id' => $verification->provider_id,
]
]);
Auth::login($user);
}
return redirect(route('dashboard'));
}
}