Mengenal CAS Sebagai Solusi SSO

Sadarkah Anda pada saat menggunakan akun Google cukup dengan satu login saja? Itulah yang disebut dengan konsep SSO. Tulisan ini akan sedikit mengenal Apereo CAS sebagai solusi SSO.

Aplikasi web saat ini berkembang dengan pesat dikarenakan kehandalannya dan modularitas bahasa pemrograman web yang digunakannya. Tidak heran pada setiap perusahaan memiliki aplikasi email, blog, sistem informasi dan banyak aplikasi web lainnya. Hal ini sangat membanggakan, akan tetapi ada satu masalah yaitu proses login yang banyak pada aplikasi. Nama pengguna dan kata sandi bisa saja sama pada setiap aplikasi melalui penggunaan basis data yang terintegrasi pada semua aplikasi. Tetapi tetap saja pada saat kita membuka aplikasi, kita selalu diminta untuk login kembali. Sehingga dibutuhkan suatu Sistem Single-Sign-On, yaitu ketika kita sudah login atau logout satu kali, kita tidak perlu lagi login atau logout saat membuka aplikasi lainnya.

Apa itu SSO?

Teknologi Single-Sign-On (sering disingkat menjadi SSO) adalah teknologi yang mengizinkan pengguna jaringan agar dapat mengakses sumber daya dalam jaringan hanya dengan menggunakan satu akun pengguna saja.

Teknologi ini sangat diminati, khususnya dalam jaringan yang sangat besar dan bersifat heterogen (di saat sistem operasi serta aplikasi yang digunakan adalah berasal dari banyak vendor, dan pengguna dimintai untuk mengisi informasi dirinya ke dalam setiap platform yang berbeda).

Dengan menggunakan SSO, seorang pengguna hanya cukup melakukan proses autentikasi sekali saja untuk mendapatkan izin akses terhadap semua layanan yang terdapat di dalam jaringan.

Apa itu CAS?

CAS merupakan singkatan dari Central Authentication Service. Sebuah layanan untuk implementasi SSO atau sebagai protokol SSO untuk web. Produk CAS besutan Jasig ini memang gampang digunakan untuk implementasi SSO untuk aplikasi berbasis web.

Baca Juga:  Sistem Pembayaran Mobile: Era Masa Depan Tanpa Uang Tunai

Saat ini CAS dikembangkan oleh Apereo Foundation

CAS disusun dan dikembangkan oleh Shawn Bayern dari Yale University Technology and Planning. Kemudian CAS dikelola oleh Drew Mazurek di Yale. CAS 1.0 menerapkan sistem single-sign-on. CAS 2.0 memperkenalkan otentikasi proxy multi-tier. Beberapa distribusi CAS lainnya telah dikembangkan dengan fitur-fitur baru.

Pada Desember 2004, CAS menjadi proyek Java in Administration Special Interest Group (JASIG). Pada tahun 2008, JASIG bertanggung jawab atas pemeliharaan dan pengembangannya. Sebelumnya bernama “Yale CAS”, CAS sekarang juga dikenal sebagai “Jasig CAS”. Pada 2010, Jasig mengadakan pembicaraan dengan Sakai Foundation untuk menggabungkan kedua organisasi tersebut. Kedua organisasi dikonsolidasikan sebagai Apereo Foundation pada bulan Desember 2012.

Tujuan dari CAS sendiri adalah untuk mengizinkan pengguna untuk mengakses beberapa aplikasi dengan memberikan kredensial mereka (seperti User ID dan Kata Sandi) hanya sekali proses saja. CAS juga memungkinkan aplikasi web untuk mengotentikasi pengguna tanpa mendapatkan akses ke kredensial keamanan pengguna, seperti kata sandi.

CAS sendiri dikembangkan dengan teknologi Java EE, sehingga untuk implementasinya harus menggunakan Apache Tomcat sebagai web server nya. Selain itu, persyaratan lain penggunaan CAS, akses harus menggunakan SSL.

Selain berbasis Java, aplikasi CAS ini juga sifatnya Open Source. Sehingga kita bisa mendapatkan kode sumber aslinya guna pengembangan lebih lanjut.

Aplikasi yang Menggunakan CAS

Saat ini, banyak aplikasi open source yang sudah menggunakan CAS; beberapa diantaranya adalah:

  1. Joomla
  2. WordPress
  3. Zimbra
  4. Google Apps
  5. dan masih banyak lagi

Bagaimana Aplikasi Menggunakan CAS?

Untuk mengintegrasikan aplikasi dengan server SSO, diperlukan sebuah library yaitu CAS Client yang merupakan paket perangkat lunak yang dapat diintegrasikan dengan berbagai platform dan aplikasi untuk berkomunikasi dengan server CAS yang menggunakan atau lebih banyak protokol yang didukung.

Baca Juga:  Sistem Pembayaran Mobile: Era Masa Depan Tanpa Uang Tunai

CAS menyediakan library resmi (official) khusus untuk beberapa platform, diantaranya adalah:

  1. CAS Client untuk .NET
  2. CAS Client untuk Java
  3. CAS Client untuk PHP
  4. CAS Client untuk Apache

Otentikasi yang Didukung

CAS mendukung otentikasi terhadap berbagai jenis sistem otentikasi yang umum. Daftar berikut adalah daftar teknologi otentikasi yang didukung:

  1. LDAP
  2. Database (mis: MySQL)
  3. OAuth 1.0/2.0, OpenID
  4. X.509 (sertifikat SSL klien)
  5. YubiKey
  6. Apache Shiro
  7. pac4j

Protokol yang Didukung

Daftar protokol yang didukung dan disediakan oleh CAS diantaranya adalah:

  1. CAS
  2. OpenID
  3. OAuth
  4. OpenID Connect
  5. WS Federation
  6. SAML1
  7. SAML2
  8. REST Protocol

Kesimpulan

Perlu bahasan lebih lanjut untuk mengenal lebih jauh tentang SSO dan CAS. Jadi, SSO adalah solusi otentikasi untuk pengguna aplikasi; hanya cukup melakukan proses autentikasi sekali saja untuk mendapatkan izin akses terhadap semua layanan yang terdapat di dalam jaringan.