Back to blog
Security

OAuth 2.0 vs OIDC (OpenID Connect): Kenapa Keduanya Berbeda?

Hampir semua developer menganggap tombol 'Login with Google' adalah murni fitur OAuth 2.0. Ini adalah kesalahpahaman massal yang harus diluruskan.

super admin·29 Juni 2026·2 min read
OAuth 2.0 vs OIDC (OpenID Connect): Kenapa Keduanya Berbeda?
Article Content

Miskonsepsi Terbesar di Dunia Autentikasi

Di artikel *batch* awal, kita telah membedah fitur "Login with Google" menggunakan analogi OAuth2. Secara industri, penjelasan tersebut bisa diterima. TAPI, jika kamu berada di wawancara tingkat *Senior Security Engineer*, menyamakan "Login" dengan "OAuth2" akan membuatmu terlihat amatir.

Fakta kerasnya adalah: OAuth 2.0 BUKANLAH protokol untuk melakukan Login (Autentikasi). Ia murni adalah protokol untuk Memberi Izin (Otorisasi).

Mengingat Kembali Analogi Kunci Hotel

OAuth 2.0 ibarat Resepsionis Hotel yang memberimu Kartu Akses (Access Token). Kartu ini hanya bisa digunakan untuk membuka pintu ruang Gym atau Kolam Renang. Mesin pemindai pintu (API Server) tidak peduli SIAPA NAMAMU, ia hanya peduli: "Apakah kartu ini valid dan berhak masuk?"

Jika sebuah aplikasi menuntutmu untuk tahu "Siapa nama dan email pengunjung ini?" (Identitas Login), OAuth 2.0 tidak memiliki standarnya. Dulu, developer *nge-hack* sistem ini dengan memakai Access Token tadi untuk menembak URL API Profil Google, lalu menarik secara manual teks nama dan emailnya.

Lahirnya OIDC (OpenID Connect): Kartu Identitas Resmi

Melihat betapa berantakannya cara *developer* mengais-ngais data profil lewat API, para raksasa industri IT akhirnya menciptakan lapisan baru di ATAS OAuth 2.0. Standar baru ini dinamakan OIDC (OpenID Connect).

OIDC berjalan membonceng mesin OAuth 2.0. Saat proses *Redirect Consent* (Klik persetujuan) selesai, selain memberikan Access Token (untuk membuka pintu API), Google juga akan memberikan satu benda baru yang disebut ID Token.

Apa itu ID Token?

ID Token selalu berbentuk JWT (JSON Web Token).
Di dalam token ini, sudah tertulis dengan rapi, baku, dan standar seluruh identitas pengguna yang kamu butuhkan:

// Isi (Payload) dari sebuah ID Token
{
  "iss": "https://accounts.google.com",
  "sub": "1234567890", // ID unik pengguna
  "email": "budi@mail.com",
  "name": "Budi Coder",
  "picture": "https://google.com/foto-budi.jpg",
  "exp": 1600000000
}

Berkat OIDC, *Backend Server*-mu tidak perlu lagi repot-repot membuang waktu menembak (Fetch) API Profil Google! *Backend*-mu cukup membedah isi ID Token (JWT) ini secara lokal (Offline), mengambil *string* email-nya, lalu membuatkan *Session Login* di sistem milikmu. Sangat elegan dan super cepat!

Mau langsung pakai template?

Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.

Browse Templates