Tutorial Setup Login Google (Pemula)

Panduan mengaktifkan Masuk dengan Google untuk pembaca (bukan admin). Ikuti urutan langkah di bawah.

Status saat ini: Aktif

Penting: Login Google ini hanya untuk pembaca di halaman /masuk. Admin tetap login di /login dengan email & password.

1. Siapkan akun Google

Pakai akun Gmail Anda (boleh akun pribadi untuk belajar di localhost).

3. Buat Project baru

  1. Klik dropdown project di bagian atas → New Project.
  2. Nama project contoh: Bolana Blog.
  3. Klik Create, lalu pilih project tersebut.

4. Konfigurasi OAuth Consent Screen

  1. Menu kiri: APIs & ServicesOAuth consent screen.
  2. Pilih User Type: External → Create.
  3. Isi:
    • App name: Bolana Blog
    • User support email: email Anda
    • Developer contact: email Anda
  4. Klik Save and Continue sampai selesai.
  5. Di bagian Test users (mode Testing), tambahkan email Google yang boleh login saat uji coba.

Saat masih Testing, hanya Test users yang bisa login. Untuk publik, nanti submit Verification (opsional untuk production).

5. Buat OAuth Client ID

  1. Menu: APIs & ServicesCredentials.
  2. Klik Create CredentialsOAuth client ID.
  3. Application type: Web application.
  4. Name: Bolana Blog Web.
  5. Authorized JavaScript origins:
    http://localhost
  6. Authorized redirect URIs — salin persis:
    https://blog.bolana-erp.com/auth/google/callback
  7. Klik Create.
  8. Copy Client ID dan Client Secret.

6. Isi file .env di project

Buka file c:\xampp\htdocs\bolanablog\.env, lalu isi:

GOOGLE_LOGIN_ENABLED=true
GOOGLE_CLIENT_ID=isi_client_id_dari_google
GOOGLE_CLIENT_SECRET=isi_client_secret_dari_google
GOOGLE_REDIRECT_URI=https://blog.bolana-erp.com/auth/google/callback

Simpan file. Pastikan tidak ada spasi di awal/akhir nilai.

7. Database pembaca

Tabel readers sudah termasuk di database/migration/schema.sql. Jika belum ada, import ulang schema (atau pastikan DB sudah di-setup saat install).

9. Troubleshooting cepat

GejalaSolusi
Tombol Google tidak muncul / “belum aktif” Cek GOOGLE_LOGIN_ENABLED=true dan Client ID/Secret terisi.
Error redirect_uri_mismatch Redirect URI di Google Cloud harus sama persis dengan GOOGLE_REDIRECT_URI.
Error access blocked / app not verified Tambahkan email Anda di Test users pada OAuth consent screen.
Table readers not found Import ulang database/migration/schema.sql.