Di dunia digital saat ini, fitur “Login with Google”, “Login with Facebook”, atau “Login with GitHub” sudah sangat sering kita jumpai di berbagai aplikasi dan website. Fitur ini memberikan kemudahan bagi pengguna untuk masuk tanpa harus mendaftar ulang atau mengingat password baru.
Bagi pengembang, fitur ini juga dapat meningkatkan kenyamanan pengguna sekaligus keamanan aplikasi. Teknologi yang mendasarinya adalah OAuth 2.0 dan OpenID Connect (OIDC).
Pada artikel ini, kita akan membahas secara lengkap tentang apa itu auth login, bagaimana cara kerjanya, serta apa saja manfaatnya baik untuk pengguna maupun pengembang.
Apa Itu Auth Login (“Login with”)?
Auth Login adalah mekanisme autentikasi yang memungkinkan pengguna login ke sebuah aplikasi menggunakan akun dari penyedia identitas (Identity Provider/IdP) seperti:
- GitHub
- Apple
Dengan cara ini, pengguna tidak perlu membuat akun baru di aplikasi, melainkan cukup menggunakan akun yang sudah mereka miliki.
Teknologi yang umum digunakan:
- OAuth 2.0 → protokol otorisasi untuk memberikan izin akses.
- OpenID Connect (OIDC) → lapisan tambahan di atas OAuth 2.0 untuk menyediakan informasi identitas pengguna.
Bagaimana Cara Kerja Auth Login?
Alur kerja login dengan OAuth 2.0 dapat dijelaskan dalam beberapa tahap:
1. Pengguna Klik Tombol Login
Misalnya pengguna memilih “Login with Google” di aplikasi.
2. Redirect ke Penyedia Identitas
Aplikasi akan mengarahkan pengguna ke halaman login Google/Facebook/GitHub dengan parameter:
- client_id → ID aplikasi yang sudah terdaftar di penyedia identitas.
- redirect_uri → alamat aplikasi yang akan menerima balikan setelah login.
- scope → data yang diminta (contoh: email, nama, foto profil).
- state → kode acak untuk mencegah serangan CSRF.
3. Pengguna Login & Memberi Izin
Pengguna memasukkan akun Google/Facebook/GitHub. Jika pertama kali, mereka akan diminta menyetujui aplikasi untuk mengakses data tertentu.
4. Authorization Code Dikirim Balik
Setelah login berhasil, penyedia identitas mengembalikan authorization code ke aplikasi melalui redirect_uri.
5. Tukar Code dengan Access Token
Aplikasi mengirimkan authorization code ke server IdP bersama client_secret. IdP kemudian mengembalikan:
- access_token → digunakan untuk mengambil data user.
- id_token (jika OIDC) → berisi identitas user dalam format JWT.
6. Ambil Data User
Dengan access_token, aplikasi dapat memanggil API dari Google/Facebook/GitHub untuk mendapatkan data user (misalnya nama, email, avatar).
7. Buat Sesi/Login di Aplikasi
Aplikasi membuat akun atau mencocokkan data user. Kemudian server aplikasi mengeluarkan session atau JWT token agar user tetap login di aplikasi.
Keuntungan Menggunakan Auth Login
Bagi pengguna:
- Praktis – tidak perlu membuat akun baru.
- Cepat – login hanya dengan beberapa klik.
- Aman – password tidak pernah dibagikan ke aplikasi pihak ketiga.
Bagi pengembang:
- Meningkatkan user experience – lebih sedikit hambatan saat pendaftaran.
- Mengurangi risiko keamanan – tidak perlu menyimpan password user.
- Single Sign-On (SSO) – bisa digunakan di banyak aplikasi sekaligus.
Contoh Penerapan Auth Login
Beberapa contoh nyata penggunaan fitur ini:
- Login with Google di platform e-learning atau SaaS.
- Login with Facebook di aplikasi game online.
- Login with GitHub pada platform developer seperti Netlify atau Heroku.
Kesimpulan
Fitur “Login with” atau Auth Login adalah solusi modern untuk autentikasi yang praktis, aman, dan efisien. Dengan memanfaatkan OAuth 2.0 dan OpenID Connect, aplikasi dapat memberikan pengalaman login yang lebih baik bagi pengguna tanpa harus menyimpan password mereka.
Sebagai pengguna, kita bisa masuk dengan mudah menggunakan akun Google/Facebook. Sebagai pengembang, kita mendapatkan sistem login yang aman, cepat, dan meningkatkan konversi pengguna.
Di era digital sekarang, hampir semua aplikasi besar sudah menggunakan metode ini, dan penerapannya akan semakin meluas ke berbagai bidang.