Halaman login laravel dengan tambahan gmail register: Perbedaan antara revisi
| Baris 45: | Baris 45: | ||
<code>use Laravel\Socialite\Facades\Socialite;</code> | <code>use Laravel\Socialite\Facades\Socialite;</code> | ||
Masukkan kode berikut ke dalam file SocialController.php | |||
public function googleRedirect() | |||
<code>{</code> | |||
<code> return Socialite::driver('google')->redirect();</code> | |||
<code> }</code> | |||
<code> </code> | |||
<code> public function loginWithGoogle()</code> | |||
<code> {</code> | |||
<code> try {</code> | |||
<code> $googleUser = Socialite::driver('google')->stateless()->user();</code> | |||
<code> $existingUser = User::where('google_id',$googleUser->id)</code> | |||
<code> ->orWhere('email',$googleUser->email)</code> | |||
<code> ->firest();</code> | |||
<code> if ($existingUser){</code> | |||
<code> if($existingUser->google_id !== $googleUser->id){</code> | |||
<code> $existingUser->google_id = $googleUser->id;</code> | |||
<code> $existingUser->save();</code> | |||
<code> }</code> | |||
<code> Auth::login($existingUser);</code> | |||
<code> } else {</code> | |||
<code> $createUser = User::create([</code> | |||
<code> 'name' => $googleUser->name,</code> | |||
<code> 'email' => $googleUser->email,</code> | |||
<code> 'google_id' => $googleUser->id,</code> | |||
<code> 'password' =>bcrypt('password'),</code> | |||
<code> ]);</code> | |||
<code> Auth::login($createUser);</code> | |||
<code> }</code> | |||
<code> return redirect()->to('/dashboard');</code> | |||
<code> } catch (\Throwable $th){</code> | |||
<code> throw $th;</code> | |||
<code> }</code> | |||
<code> }</code> | |||
[[Kategori:Laravel]] | [[Kategori:Laravel]] | ||
Revisi per 5 Mei 2025 01.53
Setelah laravel 12 terinstall
ikuti langkah-langkah berikut untuk membuat halaman login
Masuk direktori dimana laravel 12 terinstall, lalu ketik perintah
composer require laravel/breeze
setelah itu
php artisan breeze:install lalu pilih blade
Ubah Tabel Users dan Model User
Tabel User (databases/migration/.....user)
Model User (app/Model/User.php)
Lalu ketikan perintah
php artisan migrate
jika berhasil maka akan muncul tampilan seperti berikut
Install Socialite Package
Jalankan perintah
composer require laravel/socialite
info packages yang terinstall akan muncul seperti berikut
Buat Controller SocialController
php artisan make:controller SocialController
Tambahkan kode berikut di SocialController.php
Import Kelas
use App\Models\User;
use Illuminate\Support\Facades\Auth;
use Laravel\Socialite\Facades\Socialite;
Masukkan kode berikut ke dalam file SocialController.php
public function googleRedirect()
{
return Socialite::driver('google')->redirect();
}
public function loginWithGoogle()
{
try {
$googleUser = Socialite::driver('google')->stateless()->user();
$existingUser = User::where('google_id',$googleUser->id)
->orWhere('email',$googleUser->email)
->firest();
if ($existingUser){
if($existingUser->google_id !== $googleUser->id){
$existingUser->google_id = $googleUser->id;
$existingUser->save();
}
Auth::login($existingUser);
} else {
$createUser = User::create([
'name' => $googleUser->name,
'email' => $googleUser->email,
'google_id' => $googleUser->id,
'password' =>bcrypt('password'),
]);
Auth::login($createUser);
}
return redirect()->to('/dashboard');
} catch (\Throwable $th){
throw $th;
}
}

