/ infrastructure

Apa dan bagaimana cara kerja Single SIgn On Authentication?

SSO akan bertahan cukup lama karena Decentralized system juga menjadi semakin umum dan tentu authentication menjadi essential espect dari semua itu. Jadi apa itu SSO btw?

Ade Yahya Prasetyo

By Ade Yahya Prasetyo

SSO akan bertahan cukup lama karena Decentralized system juga menjadi semakin umum dan tentu authentication menjadi essential espect dari semua itu. Jadi apa itu SSO btw?

Jujur saja saya baru mengenal SSO atau Single-sign-on ini dari segi infrastruktur / mekanisme saat mulai bergabung bersama salestock. Dan dari awal, niat saya pindah kantor kemudian gabung bersama salestock adalah selain membangun karir yang lebih baik, juga memang ingin belajar hal baru (kuliah gratis dan dibayar!). Dan bagi saya cara belajar atau menyerap ilmu yang paling baik adalah dengan dipahami dan dijelaskan ulang.

Tapi, jika dari segi end-user sebenarnya saya sudah menggunakan SSO sejak lama, contoh: saat saya menggunakan service / produk-produk google saya hanya perlu login sekali dan saya bisa mengakses semua produk google yang lain tanpa harus login berulang kali, yap itulah SSO.

Federated identity glosairum

konsep SSO juga dikenal sebagai federated indentity yang dibuat untuk menyelesaikan permasalahan:

  • Authentication
  • Authorization
  • User attributes exchange
  • User managemen

Authentication

validating user credentials and establishing the identity of the user.

Authorization

related to access restrictions (e.g., is the user allowed to access X resource?).

User attributes exchange

deals with data sharing across different user management systems. For instance, fields such as "real name" may be present in multiple systems. A federated identity system prevents data duplication by linking the related attributes.

User management

related to the administration (creation, deletion, update) of user accounts. A federated identity system usually provides the means for administrators (or users) to handle accounts across domains or subsystems.

Single sign on (SSO) Authentication

Seperti yang sudah saya contohkan dengan produk google diatas, masalah yang ingin kita selesaikan menggunakan SSO ini adalah ketika contoh kita telah mendeploy aplikasi pada domain X dan kita ingin mendeploy aplikasi lain ke domain Y kemudian pada kedua aplikasi tersebut kita ingin mengakses login information yang sama, user yang sudah logged-in pada domain X juga harus logged-in pada domain Y.

non-sso-scenario

Yang jelas untuk melakukan skenario ini sebenarnya simple, kita hanya share session across domains, tapi untuk alasan security, web browsers jaman now melarang hal ini dengan policy yang disebut same origin policy. Policy ini mengatur bahwa cookies dan locally stored data lain hanya dapat diakses oleh creatornya domain Y tidak dapat mengakses cookies pada domain X dan sebaliknya.

Sekali lagi SSO dibuat untuk menyelesaikan masalah ini: sharing session information across different domains.

same-origin-policy-forbids-this

Setiap SSO protocols melakukan sharing session dengan cara yang berbeda-beda, namun esensial konsepnya tetap sama: ada sebuah central domain yang melakukan authentication dan melakukan sharing session terhadap domain lain.

using-central-auth-domain

Jadi setiap kali user mengakses domain yang membutuhkan authentication, user di-redirected ke authentication domain yang kita sebut central domain tadi, saat proses auth selesai pada central domain, user akan di-redirected ulang ke original domain bersama auth-token yang dikirim dari central domain.

typical-sso

Kesimpulan

SSO akan bertahan cukup lama karena Decentralized system juga menjadi semakin umum dan tentu authentication menjadi essential espect dari semua itu. SSO menyelesaikan sebuah masalah besar: how to manage the increasing number of users across a whole ecosystem of applications and services.

Catatan

Jika tertarik untuk memahami SSO lebih dalam, bisa download ebook gratis dari Auth0 Download ebook SSO

Pustaka

https://auth0.com/blog/what-is-and-how-does-single-sign-on-work/