Lewati ke konten

Login Google

Login Google bersifat opsional. Tanpa ini, semua orang tetap bisa masuk dengan email dan password. Dengan Google, admin bisa mengundang staf lewat email tanpa membagikan password.

Aplikasi hanya meminta akses dasar (openid email profile), jadi tidak perlu verifikasi aplikasi dari Google.

  1. Buat project. Buka console.cloud.google.com, pilih pemilih project di atas, lalu New Project (nama bebas, mis. “Absensi Sholat”).

  2. Atur OAuth consent screen. Buka APIs & Services > OAuth consent screen (di tampilan baru bernama Google Auth Platform), klik Get started. Isi nama aplikasi, email dukungan, dan pilih User type: External. Isi email kontak lalu simpan.

  3. Publish aplikasi. Di Audience, klik Publish app supaya statusnya In production. Kalau dibiarkan Testing, hanya email yang didaftarkan sebagai Test users yang bisa login, dan sesinya kedaluwarsa dalam 7 hari.

  4. Buat OAuth Client ID. Buka APIs & Services > Credentials > Create credentials > OAuth client ID. Pilih Application type: Web application.

  5. Isi Authorized redirect URIs (ganti DOMAIN dengan domain aplikasi):

    https://DOMAIN/api/v1/auth/google/callback
    http://localhost:3000/api/v1/auth/google/callback

    Alamatnya harus sama persis: https, tanpa slash di akhir, dan tanpa www kalau aplikasi tidak memakai www.

  6. Klik Create, lalu salin Client ID dan Client secret.

  7. Isi environment di hosting dan .env lokal:

    Terminal window
    APP_URL=https://DOMAIN
    GOOGLE_CLIENT_ID=xxxx.apps.googleusercontent.com
    GOOGLE_CLIENT_SECRET=xxxx

    APP_URL harus sama dengan domain di redirect URI. Setelah mengubah environment, deploy ulang supaya terbaca.

  8. Tes. Masuk sebagai admin, buka Staf > Undang lewat email, masukkan email Gmail Anda sendiri, lalu buka tautan undangannya. Login Google harus berhasil dan akun staf otomatis terhubung.

Pesan Penyebab Solusi
redirect_uri_mismatch Redirect URI di Google tidak sama persis dengan APP_URL + /api/v1/auth/google/callback. Samakan, lalu tunggu beberapa menit sampai perubahan di Google aktif.
Access blocked / app not verified Aplikasi masih mode Testing dan email belum jadi Test user. Publish app (langkah 3).
“Login Google belum diaktifkan di aplikasi ini.” GOOGLE_CLIENT_ID atau GOOGLE_CLIENT_SECRET kosong. Isi lalu deploy ulang.
“Akun Google yang dipakai harus berupa email yang diundang.” Penerima memilih akun Google dengan email lain. Pilih akun Google dengan email yang diundang.

Designed & Developed by NoxlyDev