Membangun SSO Server Untuk Implementasi Single Sign ON

Ahsanfile SSO

Sebagai lanjutan artikelku mengenai tahapan-tahapan untuk mengimplementasikan SSO sendiri, berikut ini aku buat artikel khusus mengenai SSO Server. Ada beberapa hal yang aku sampaikan di sini yaitu :

  1. Apa itu SSO Server ?
  2. Fungsi SSO Server ?
  3. Cara kerja SSO Server ?
  4. Apa saja yang dibutuhkan untuk menginstall SSO Server ?
  5. Dengan apa SSO Server bisa dibuat ?
  6. Fitur apa saja yang disediakan / dipasang SSO ?

Sebelumnya mari kita lihat flow akses user aplikasi ke SSO Server dalam dua flow di bawah ini yaitu flow login dan flow logout.

Single Sign On

Single Sign Out

Yang pertama adalah pengertian SSO Server adalah sebuah server aplikasi berbasis web yang berfungsi untuk mengintegrasikan, komunikator dan management session login dan logout apliaksi-aplikasi yang ikut dalam SSO. Waduh susah dimengerti ya ? Ya pokoknya SSO Server harus ada ditengah-tengah para aplikasi yang tergabung dalam sistem SSO.

Yang ketiga (lho yang kedua mana ? —- coba baca sekali lagi paragraf di atas, disana sudah disebutkan fungsi SSO Server secara detail). Cara kerja SSO Server secara umum adalah

  1. Memproses login dari user, membuat session dan atau coockies, kemudian meredirect ke alamat asal aplikasi yang melakukan login. Kondisi ini di sebut SSO Server ON
  2. Memproses logout yaitu ketika ada request logout dia akan menghapus session dan cookies. Kondisi ini di sebut SSO Server OFF
  3. Melakukan sinkronasi kondisi ON dan OFF dari aplikasi yang mendakses server SSO.Jika kondisi ON, maka akan mengirimkan signal user sudah login, dan aplikasi yang mengaksesnya akan menindaklanjuti dengan proses seperti create session aplikasi dan mengijinkan user masuk ke aplikasi.Jika kondisi OFF maka akan mengirimkan signal user sudah logout sehingga aplikasi yang mengaksesnya akan menindaklanjuti untuk logout aplikasi seperti hapus session aplikasi dan redirect ke halaman login.

Yang keempat yaitu kebutuhan untuk menginstall SSO Server.
SSO Server sebenarnya nggak berbeda dengan aplikasi web pada umumnya, tugasnya cuma menangani request dan memberikan response terhadap client yang mengakses. Cuma kalo SSO server 99% tugasnya adalah urusan authentifikasi, pengolahan session dan coockies.

Dari uraian di atas, dapat digambarkan kebutuhan untuk sebuah server dijadikan SSO Server yaitu :

  1. Mampu menangani request dan response secara cepat
  2. Mampu menampung session yang jumlahnya besar
  3. Sebaiknya akses menggunakan https untuk keamanan aliran data.

Dah prasaratnya itu saja, jadi semakin besar ukuran prosesor, memory dan IO akan semakin baik sebuah server digunakan untuk SSO Server.

Dengan apa SSO Server bisa dibuat ?
Pokoknya software yang biasa kita gunakan untuk membuat server script sebuah web. COntohnya php, asp/asp.net, java dan lainnya.

Untuk application servernya ya sesuai peruntukannya, kalau php ya apache/lighttpd/iis, untuk asp/asp.net ya pasti iis dan untuk java pilihannya melimpah ruah mulai dari tomcat/jboos/glassfish/weblogic/websphere dan lainnya. Kalau yang biasa aku gunakan adalah glassfish.

Fitur apa saja yang disediakan / dipasang SSO ?
Kalau mbahas soal ini sesuai kebutuhan. Tetapi yang aku pernah eksplor kemarin diantaranya adalah :

  1. Membatasi seorang user hanya login disatu tempat saja. Kalau biasanya sebuah aplikasi web dengan user yang sama dapat diakses di beberapa tempat secara bersamaan, di SSO kita bisa membuat pembatasan yang terintegrasi
  2. Log aktivitas user yang terpusat. Kalau tadinya log aktivitas user tersebar dimasing-masing aplikasi, di SSO kita bisa mencatat log seluruh aktivitas user di berbagai aplikasi yang tergabung dalam SSO.

Cukup sekian dulu artikel ini, artikel selanjutnya aku akan membahas bagaimana desain SSO yang mengintegrasikan multi user management. Misalnya dalam sebuah perusahaan sebelumnya sudah memiliki 4 aplikasi web yang masing-masing memiliki sistem user sendiri, tetapi user di perusahaan tersebut mengakses keempat aplikasi tersebut. Dari pada user memanage banyak login, dengan SSO multi user management ini kita bisa memberikan kemudahan pada user kita yaitu login di sebuah aplikasi, dengan SSO akses ke aplikais yang lain tidak perlu login lagi walau berbeda user id dan passwordnya.

Untuk implementasi SSO multi user management ini sedang saya implementasikan dalam sistem Indonesia National Single Window  yang akan mengintegrasikan 16 sistem aplikasi di 16 departemen yang menerbitkan perijinan ekspor dan impor.

Silahkan baca tentang SSO multi user management di sini :
Mengintegrasikan banyak sistem user management menggunakan Single Sign On – SSO

Semoga artikel ini bermanfaat :mrgreen:

18 comments on “Membangun SSO Server Untuk Implementasi Single Sign ON

  1. Pingback: Step by Step Membuat Server Single Sign On – SSO | Ahsanfile Projects

  2. Pingback: Implementasi SSO (Single Sign On) pada Inhouse Aplikasi Ditjen Bea dan Cukai | Ahsanfile Projects

  3. Pingback: Cara menginstall Oracle XE 11g pada Linux Red Hat dan Cara Membuat Connection Pool pada Glassfish 3.1 ke Oracle XE di OS Red Hat 5.5 64 bit | Ahsanfile Projects

  4. Pingback: ILMU TEKNOLOGI INFORMASI

  5. Terimakasih banyak penjelasannya mas.. Tapi saya masih belum paham untuk di tiap-tiap aplikasi turunannya.. Kira-kira informasi user apa ya yang dipakai untuk mengidentifikasi user sudah login atau belum.. Apa pakai IP-kah? Mohon pencerahannya..

  6. Saya baca di tahun 2016, dan sepertinya masih relevan jadi referensi. 🙂
    Kebetulan saya juga berenca mengimplementasikan SSO utk semua aplikasi di kampus kami. Terima kasih ilmunya, saya jadi dapat gambaran dari mana harus memulai.

Leave a comment