Halaman login laravel dengan tambahan gmail register: Perbedaan antara revisi
| (9 revisi perantara oleh pengguna yang sama tidak ditampilkan) | |||
| Baris 126: | Baris 126: | ||
Tambahkan Tautan Login Google ke Balde Registrasi/Login | Tambahkan Tautan Login Google ke Balde Registrasi/Login | ||
[[Berkas:Tambahkan-login-div.jpg|pus|jmpl|460x460px]] | |||
= Troubleshooting = | |||
== Jika muncul error saat mengakses halaman login seperti ini == | |||
''Vite manifest not found at: /home/website.laravel/public_html/public/build/manifest.json'' | |||
lakukan perintah berikut | |||
<code>apt install npm</code> lalu | |||
<code>npm run build</code> | |||
kemudian ketika perintah berikut | |||
<code>npm install</code> | |||
<code>npm run dev</code> | |||
== jika masih error seperti ini == | |||
npm run build | |||
> @ build /home/website.laravel/public_html | |||
> vite build | |||
/home/website.laravel/public_html/node_modules/vite/bin/vite.js:2 | |||
import { performance } from 'node:perf_hooks' | |||
^ | |||
SyntaxError: Unexpected token { | |||
at Module._compile (internal/modules/cjs/loader.js:723:23) | |||
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) | |||
at Module.load (internal/modules/cjs/loader.js:653:32) | |||
at tryModuleLoad (internal/modules/cjs/loader.js:593:12) | |||
at Function.Module._load (internal/modules/cjs/loader.js:585:3) | |||
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12) | |||
at startup (internal/bootstrap/node.js:283:19) | |||
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3) | |||
npm ERR! code ELIFECYCLE | |||
npm ERR! errno 1 | |||
npm ERR! @ build: `vite build` | |||
npm ERR! Exit status 1 | |||
npm ERR! | |||
npm ERR! Failed at the @ build script. | |||
npm ERR! This is probably not a problem with npm. There is likely additional logging output above. | |||
npm ERR! A complete log of this run can be found in: | |||
npm ERR! /root/.npm/_logs/2025-05-05T02_14_02_310Z-debug.log | |||
=== solusinya adalah upgrade Node.js === | |||
biasanya minta v16. kebetulan di server saya adalah versi 10. | |||
melihat versi Node dengan mengetikan perintah | |||
<code>node -v</code> | |||
untuk upgrade lakukan dengan | |||
<code>curl -fsSL <nowiki>https://deb.nodesource.com/setup_18.x</nowiki> | sudo -E bash -</code> | |||
lalu | |||
<code>sudo apt-get install -y nodejs</code> | |||
cek kembali Node sudah terupgrade atau belum dengan perintah | |||
<code>node -v</code> | |||
jika sudah seperti dibawah ini artinya sudah terupdate | |||
v18.20.8 | |||
= Tampilan Halaman Login dan Register = | |||
Halaman depan | |||
[[Berkas:007-tampilan-tambahan-login-resgister.jpg|pus|jmpl|371x371px]] | |||
Halaman Login | |||
[[Berkas:008-halaman-login-laravel-12.jpg|pus|jmpl|383x383px]] | |||
Halaman Register | |||
[[Berkas:009-halaman-register-laravel-12.jpg|pus|jmpl|434x434px]] | |||
Tampilan jika berhasil login | |||
[[Berkas:010-berhasil-login.jpg|pus|jmpl|584x584px]] | |||
[[Kategori:Laravel]] | [[Kategori:Laravel]] | ||
Revisi terkini sejak 5 Mei 2025 05.37
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;
}
}
Menyiapkan Route
Import kelas terleih dahulu
use App\Http\Controllers\SocialController;
Berikutnya tentukan rute untuk autentikasi Google
Route::get('auth/redirect',[SocialController::class, 'googleRedirect']);
Route::get('auth/callback',[SocialController::class, 'loginWithGoogle']);
Tambahkan Tautan Login Google ke Balde Registrasi/Login
Troubleshooting
Jika muncul error saat mengakses halaman login seperti ini
Vite manifest not found at: /home/website.laravel/public_html/public/build/manifest.json
lakukan perintah berikut
apt install npm lalu
npm run build
kemudian ketika perintah berikut
npm install
npm run dev
jika masih error seperti ini
npm run build
> @ build /home/website.laravel/public_html
> vite build
/home/website.laravel/public_html/node_modules/vite/bin/vite.js:2
import { performance } from 'node:perf_hooks'
^
SyntaxError: Unexpected token {
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ build: `vite build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2025-05-05T02_14_02_310Z-debug.log
solusinya adalah upgrade Node.js
biasanya minta v16. kebetulan di server saya adalah versi 10.
melihat versi Node dengan mengetikan perintah
node -v
untuk upgrade lakukan dengan
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
lalu
sudo apt-get install -y nodejs
cek kembali Node sudah terupgrade atau belum dengan perintah
node -v
jika sudah seperti dibawah ini artinya sudah terupdate
v18.20.8
Tampilan Halaman Login dan Register
Halaman depan
Halaman Login
Halaman Register
Tampilan jika berhasil login


