Sering ga sih kita pas lagi browsing, nyobain website beda-beda, lalu ada pilihan login lewat google, atau login lewat facebook? Itu namanya SSO (Single Sign-On). Biar lebih jelas kedepannya, gw kasitau dulu nih website-website yang make “login with Facebook” ini kita sebut sebagai Service Provider, terus Facebook, atau Google, yang nyediain login ini kita sebut IdP (Identity Provider).

Cara kerjanya gimana?

Single Sign-On ini kurang lebih ngelempar urusan autentikasi ke IdP, biar mereka yang ngurus akun-akunnya, mereka cukup terima informasi yang mereka perlu aja kaya email, atau nama. Tukeran informasi ini, dari Service Provider ke IdP, bisa make beberapa protokol kaya:

  • SAML (Security Assertion Markup Language)
  • OIDC (OpenID Connect)
  • OAuth (Open Authorization)

Nah koneksi antara Service Provider, IdP, menggunakan protokol itu, bisa disebut sebagai SSO Federation.

Tentang SSO Federation

Sebenernya gw pertama belajar juga penasaran, sebenernya maksud federation itu gimana? Kalau secara umum, federation atau federasi itu biasa mengacu pada persatuan dari beberapa organisasi yang independen, tetapi diatur dari satu pemerintah pusat. Contohnya itu Amerika Serikat: setiap negara bagian mereka punya kewenangan sendiri tapi tetap dibawah pemerintah pusat.

Kalo dalem konteks SSO? Federation ini ngambil konsep yang sama, namun bukan negara bagian, tapi hubungan kepercayaan antara beberapa Service Provider dengan IdP, masing-masing entitas sendiri, tapi semua setuju IdP sebagai penyedia akun.

Kalo gitu, contoh alurnya gimana?

Misal nih mencet tombol “Login with Google”, Service Provider bakal ngarahin ke Google buat login (dalam kasus ini, Google sebagai IdP. Beres itu, kalo berhasil, Google bakal ngasi info ke Service Provider kalo akunnya orang itu valid terus boleh lanjut. Info ini isinya bisa aja email, nama, dan lain-lain tadi. Nah karena kesepakatan antara Google dan Service Provider (federation), kedua belah pihak bisa percaya sama sesama buat nuker informasi dengan cara yang aman juga.

Manfaatnya kalo di organisasi

Dalem organisasi, misal ada 3 aplikasi berbeda yang support SSO federation ini, bisa aja diatur untuk make IdP yang sama, jadi udah login ke 1, pindah ke aplikasi lain langsung masuk aja, gausah login-login lagi.

Organisasi juga bisa aja gausah ambil pusing bikin solusi autentikasi mereka sendiri, langsung aja lempar urusan akun-akun atau user directory ke IdP biar mereka yang pegang.

Penutup

Jadi kurang lebih SSO ini make satu penyedia identitas (IdP) ngurus login, terus layanan laen bisa make login yang tadi, make kepercayaan dari koneksi federation, lewat protokol SAML, OIDC, atau OAuth.

Untuk sekarang segitu dulu deh seri apatuhbang kali ini, yang ini memang agak singkat, jadi ini gw kasi beberapa sumber nih kalo mau lebih dalem lagi:

https://www.descope.com/blog/post/federated-auth-vs-sso

https://fedtechmagazine.com/article/2020/01/federated-identity-management-saml-vs-oauth-perfcon

https://www.ibm.com/id-id/topics/single-sign-on

Leave a Reply

Your email address will not be published. Required fields are marked *

Collaborative Insights from an Aspiring Engineer