feat: add Discord facade

This commit is contained in:
2022-08-28 05:46:32 +01:00
parent d58ea51de1
commit c793596a3a
8 changed files with 182 additions and 48 deletions

View File

@@ -21,6 +21,7 @@
namespace App\Http\Controllers\Auth;
use App\Facades\Discord;
use App\Http\Controllers\Controller;
use App\User;
use Illuminate\Support\Facades\Auth;
@@ -41,21 +42,36 @@ class DiscordController extends Controller
public function discordCallback() {
$discordUser = Socialite::driver('discord')->user();
$appUser = User::upsert([
'uuid' => Str::uuid(),
'name' => $discordUser->getName(),
'email' => $discordUser->getEmail(),
'email_verified_at' => now(), // verify the account since it came from a trusted provider
'username' => $discordUser->getNickname(),
'currentIp' => \request()->ip(),
'discord_user_id' => $discordUser->getId(),
'discord_token' => $discordUser->token,
'discord_refresh_token' => $discordUser->refreshToken
], [
'email' => $discordUser->getEmail()
]);
$appUser = User::where('email', $discordUser->getEmail())->first();
Auth::login(User::where('email', $discordUser->getEmail())->first());
if ($appUser) {
$appUser->discord_token = $discordUser->token;
$appUser->discord_refresh_token = $discordUser->refreshToken;
$appUser->discord_user_id = $discordUser->getId();
$appUser->discord_pfp = $discordUser->getAvatar();
$appUser->save();
Auth::login($appUser, true);
} else {
$oAuthUser = User::create([
'uuid' => Str::uuid(),
'name' => $discordUser->getName(),
'email' => $discordUser->getEmail(),
'email_verified_at' => now(), // verify the account since it came from a trusted provider
'username' => $discordUser->getNickname(),
'currentIp' => \request()->ip(),
'registrationIp' => request()->ip(),
'discord_user_id' => $discordUser->getId(),
'discord_pfp' => $discordUser->getAvatar(),
'discord_token' => $discordUser->token,
'discord_refresh_token' => $discordUser->refreshToken
]);
Auth::login($oAuthUser, true);
}
return redirect()
->route('dashboard');