Pendahuluan


Pendahuluan mengenai SAML

Dalam dunia digital yang terhubung ini, keamanan dan otorisasi menjadi aspek krusial.

Dua protokol populer, SAML dan OAuth2, membantu mengendalikan akses dan identitas pengguna.

Tapi, mana yang lebih cocok untuk kebutuhan kita ?


Apa itu SAML ?


Security Assertion Markup Language (SAML) adalah protokol XML yang memfasilitasi Single Sign-On (SSO).

Bayangkan kita login ke portal perusahaan sekali, dan akses ke aplikasi lain yang terintegrasi langsung terbuka tanpa perlu login lagi.

Itulah namanya SAML!


Fungsi utama SAML


Fungsi utama dari SAML adalah :


  • Autentikasi: SAML memverifikasi identitas pengguna dengan penyedia identitas (Identity Provider - IdP) dan mengirimkan data tersebut ke layanan yang diminta (Service Provider - SP).
  • SSO: Kita cukup login sekali ke IdP dan semua SP yang terintegrasi langsung mengenali kita tanpa perlu login berulang.
  • Federasi: SAML memungkinkan pertukaran identitas antar organisasi secara aman, sehingga pengguna dapat mengakses layanan eksternal tanpa perlu akun terpisah.

Lalu mengenai OAuth2 ?


Pengenalan mengenai OAuth2

Open Authorization (OAuth2) berfokus pada otorisasi, bukan autentikasi.

Bayangkan kita ingin membagikan foto Instagram di Twitter. OAuth2 memungkinkan kita melakukannya tanpa memberikan kredensial Instagram kita ke Twitter.


Fungsi utama OAuth2 ?


Fungsi utama dari OAuth2 adalah :

  • Otorisasi terdelegasi: kita memberikan izin kepada aplikasi (klien) untuk mengakses sumber daya tertentu (seperti foto Instagram) atas nama kita, tanpa membuka akses penuh ke akun kita.
  • API Access: OAuth2 digunakan untuk mengakses API layanan secara aman dan terkendali.
  • Integrasi Aplikasi: OAuth2 memungkinkan aplikasi kita terhubung dan berinteraksi dengan layanan lain dengan aman, tanpa menyimpan kredensial pengguna.

Lalu perbedaan antara SAML dan OAuth2 ?


Perbedaan Utama dari keduanya adalah :

  • Fokus: SAML autentikasi, OAuth2 otorisasi.
  • Token: SAML berisi informasi identitas pengguna, OAuth2 hanya token akses untuk sumber daya tertentu.
  • SSO: SAML memungkinkan SSO antar organisasi, OAuth2 tidak.
  • Kompleksitas: Implementasi SAML lebih kompleks dibanding OAuth2.


Mana yang lebih cocok

Ok, kita coba lihat lagi.

  • Pilih SAML jika: kita membutuhkan SSO antar aplikasi web atau ingin memfederasi identitas dengan pihak eksternal.
  • Pilih OAuth2 jika: kita ingin mengizinkan aplikasi mengakses sumber daya tertentu atas nama pengguna, atau membangun integrasi API yang aman.