Berikut ini prosedur instalasi CAS (https://www.apereo.org/projects/cas) hanya untuk keperluan development , misal untuk pengujian fungsionalitas Single Sign On (SSO) di sebuah aplikasi, bukan untuk production.
Keterbatasan:
- Webserver menggunakan WAR standalone, untuk production mestinya pakai Java Servlet seperti Tomcat
- Database menggunakan cleartext, untuk production mestinya pakai database seperti LDAP
- SSL certificate menggunakan self-signed. Untuk yang production mesti pakai yang CA signed.
Prosedur:
buat VM misal di VirtualBox, ukuran disk 10 GB cukup. Setelah instalasi CAS akan memakai space 4,05 GB
Install Ubuntu 19.10 , sebaiknya versi server (http://releases.ubuntu.com/19.10/ubuntu-19.10-live-server-amd64.iso) supaya lebih kecil.
CAS memakai Java, untuk itu perlu install java development kit (download 288 MB, memakai space 800 MB)
apt install default-jdk
install git:
apt install git
clone CAS:
cd /opt
git clone https://github.com/apereo/cas-overlay-template
cd cas-overlay-template
pilih CAS versi 6.1, kemudian lakukan build
checkout 6.1
./gradlew clean build
buat keystore
./gradlew createKeystore
copy konfigurasi CAS dari /opt/cas-overlay-template/etc/cas ke /etc/cas
./gradlew copyCasConfiguration
jalankan CAS sebagai executable WAR:
./gradlew run
Akses ke situs (misal https://192.168.0.202:8443). Akan ada peringatan karena menggunakan self-signed certificate. Klik saja di “accept the risk and continue”
Browse ke situs: https://192.168.0.202:8443/cas
Selanjutnya coba login ke CAS, dengan username:casuser, password:Mellon
Jika loginlancar akan muncul tampilan:
Jika password salah akan muncul tampilan:
Menambah user & password baru:
Edit file /etc/cas/config/cas.properties, user dan password dapat ditambahkan dengan baris berikut:
cas.authn.accept.users=casuserz::Mellon,abcd::efgh, user1::123456, user2::abcdefg
Username dan password dipisahkan dengan ‘::’, antar user dipisahkan dengan koma.
Konfigurasi client agar dapat diakses dari CAS client perlu tahap-tahap berikut:
- perlu ditambah JSON service registry, untuk itu perlu aktifkan setting JSON service registry di file build.gradle kemudian build ulang CAS
- Buat direktori /etc/cas/services berisi file-file JSON service registry
- Tambahkan lokasi file JSON service registry ke file /etc/cas/config/cas.properties
nano /opt/cas-overlay-template/build.gradle
Edit file /opt/cas-overlay-template/build.gradle, edit supaya ada bagian ini:
dependencies {
compile “org.apereo.cas:cas-server-support-json-service-registry:${casServerVersion}”
}
Kemudian build ulang CAS
./gradlew clean build
Buat file /etc/cas/services/wildcard-1000 dengan isi sebagai berikut:
{
“@class” : “org.apereo.cas.services.RegexRegisteredService”,
“serviceId” : “^(https|imaps)://.*”,
“name” : “wildcard”,
“id” : 1000,
“evaluationOrder” : 99999
}
Tambahkan baris berikut di /etc/cas/config/cas.properties:
cas.serviceRegistry.initFromJson=false
cas.serviceRegistry.json.location=file:/etc/cas/services
Pengujian dengan CAS client
Contoh konfigurasi CAS Client di Drupal 8.8.1
Hallo mas.
Ini untuk Apereo CAS, kalo mau tambah user, gimana cara nya ya? via database
Kebetulan saya pake Keycloak.