Admin 02 Jun 2026 23:30

 

Apa Itu OpenID Connect?

Pengantar

Di era digital yang semakin terhubung, autentikasi dan otorisasi menjadi dua aspek krusial yang harus dikelola dengan aman dan efisien. OpenID Connect (OIDC) muncul sebagai standar modern yang memudahkan proses login satu kali (single sign on) sekaligus memberikan data profil pengguna kepada aplikasi yang memerlukannya.

Definisi OpenID Connect

OpenID Connect adalah lapisan identitas yang dibangun di atas protokol OAuth 2.0. Ia menambahkan mekanisme identity token (biasanya dalam format JWT) yang berisi informasi tentang subjek (user) serta metadata seperti waktu kedaluwarsa, penerbit, dan lain lain. Dengan kata lain, OIDC memungkinkan siapa (identitas) dan apa yang boleh dilakukan (otorisasi) dikelola secara terpisah namun terintegrasi.

Komponen Utama

  • Relying Party (RP) aplikasi atau layanan yang memerlukan informasi identitas pengguna.
  • OpenID Provider (OP) penyedia layanan identitas (misalnya Google, Microsoft, atau server khusus).
  • End User pengguna akhir yang ingin mengakses RP.
  • Authorization Server dalam konteks OIDC biasanya merupakan bagian dari OP yang mengelola permintaan token.

Alur Kerja Dasar

  1. Pengguna mengklik tombol Login dengan Google (atau penyedia lain) pada halaman RP.
  2. RP mengarahkan pengguna ke endpoint otorisasi OP dengan parameter seperti client_id, redirect_uri, scope, dan response_type=id_token token.
  3. Pengguna masuk (jika belum) dan memberi persetujuan.
  4. OP mengirimkan identity token (JWT) dan/atau access token ke redirect_uri RP.
  5. RP memvalidasi token (mengecek tanda tangan, iss, aud, exp) dan mengekstrak klaim identitas seperti sub, email, name.
  6. RP membuat sesi pengguna dan memberikan akses sesuai kebijakan.

Klaim (Claims) yang Umum

JWT dalam OIDC berisi sekumpulan klaim yang dapat dipilih melalui scope dan claims. Beberapa klaim standar meliputi:

  • sub identifier unik pengguna pada OP.
  • name nama lengkap.
  • given_name, family_name nama depan/ belakang.
  • email dan email_verified.
  • picture URL foto profil.
  • locale bahasa/ wilayah.

Keunggulan OpenID Connect

  • Single Sign On satu login untuk banyak aplikasi.
  • Interoperabilitas standar terbuka, didukung oleh banyak penyedia.
  • Keamanan Terstandarisasi penggunaan JWT, TLS, dan token revocation.
  • Skalabilitas dapat dipakai untuk aplikasi web, mobile, dan API.
  • Pengalaman Pengguna mengurangi kebutuhan mengingat banyak password.

Perbandingan dengan OAuth 2.0

OAuth 2.0 hanya menangani otorisasi (apa yang boleh diakses) dan tidak memberi informasi siapa pengguna. OIDC menambahkan lapisan identitas dengan mengeluarkan id_token pada proses yang sama. Karena OIDC dibangun di atas OAuth 2.0, semua flow OAuth (Authorization Code, Implicit, Hybrid) tetap berlaku, namun dengan tambahan parameter openid pada scope.

Implementasi Praktis

Berikut contoh singkat penggunaan OIDC dengan JavaScript (library oidc-client).

import { UserManager } from 'oidc-client'; const config = { authority: 'https://accounts.google.com', client_id: 'YOUR_CLIENT_ID', redirect_uri: 'https://yourapp.com/callback', response_type: 'code', scope: 'openid profile email', post_logout_redirect_uri: 'https://yourapp.com/' }; const mgr = new UserManager(config); document.getElementById('login').addEventListener('click', () => { mgr.signinRedirect(); }); mgr.events.addUserLoaded(user => { console.log('User loaded', user.profile); }); 

Kode di atas menginisialisasi UserManager, mengarahkan pengguna ke Google, dan setelah callback memuat profil pengguna.

Best Practices Keamanan

  • Selalu gunakan HTTPS untuk semua endpoint.
  • Verifikasi tanda tangan JWT dengan kunci publik OP (biasanya lewat JWKs endpoint).
  • Validasi klaim iss, aud, dan exp.
  • Gunakan state dan nonce untuk melindungi dari CSRF dan replay attack.
  • Batasi durasi token dan implementasikan revocation bila memungkinkan.

Kasus Penggunaan Umum

  • Aplikasi SaaS yang ingin menyediakan login dengan akun Google, Microsoft, atau Facebook.
  • Portal perusahaan yang mengintegrasikan IdP internal (misalnya Keycloak, Okta).
  • API mobile yang memerlukan identitas pengguna bersama otorisasi resource.
  • Single sign on antar aplikasi internal di lingkungan enterprise.

Kesimpulan

OpenID Connect menjawab kebutuhan modern akan autentikasi yang aman, mudah, dan dapat diintegrasikan lintas platform. Dengan menggabungkan kekuatan OAuth 2.0 untuk otorisasi dan menambahkan token identitas berbasis JWT, OIDC memberikan solusi lengkap bagi pengembang dan penyedia layanan. Memahami alur kerja, komponen, serta praktik keamanan yang tepat akan memastikan implementasi yang handal dan memberikan pengalaman pengguna yang mulus.

Referensi

Apa Itu Embedding Dalam AI?

1750844281.jpg
Admin
1 week ago

Apa Itu Vector Database?

1750844281.jpg
Admin
1 week ago

Apa Itu Fine-Tuning Model AI?

1750844281.jpg
Admin
1 week ago

Apa Itu Cookies Pada Website?

1750844281.jpg
Admin
1 week ago

Apa Itu Feature Store Dalam AI?

1750844281.jpg
Admin
1 week ago