Build SAML Server Untuk SSO Google Apps
Security Assertion Markup Language (SAML, pronounced sam-el[1]) is an XML-based, open-standard data format for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. SAML is a product of the OASIS Security Services Technical Committee. SAML dates from 2001; the most recent major update of SAML was published in 2005, but protocol enhancements have steadily been added through additional, optional standards. https://en.wikipedia.org/wiki/Security_Assertion_Markup_Language
requierements:
- System Operasi dengan Webserver yang bisa menghandle php scripts
- PHP versi >= 5.2 , dengan support PHP Extension:
- date, dom, hash, libxml, openssl, pcre, SPL, zlib
- php mcrypt untuk enkripsi assertion.
- php ldap untuk authentikasi ldap
Pada percobaan kali ini menggunakan OS Ubuntu 12.04.5 LTS dengan webserver nginx, php-fpm dan dengan menggunakan Simple SAML PHP https://simplesamlphp.org . Pastikan semuanya terinstall dengan baik. clone source code simple saml php:
git clone https://github.com/simplesamlphp/simplesamlphp
kopi config-templates dan metadata-templates
# cp -a config-templates config
# cp -a metadata-templates metadata
edit file config/config.php, config/ldap.php dan config/authsources.php lalu simpan. edit file metadata/saml20-idp-hosted.php dan saml20-sp-remote.php lalu simpan.
masuk ke admin google apps lalu edit konfig seperti ini:
lalu simpan dan testing:
buka url accounts.google.com/ServiceLoginAuth . masukan username: misal user@abc.co.id dan klik login akan terbuka url seperti gambar berikut:
isi username dan password seperti dalam contoh gambar diatas, lalu klik login. Jika berhasil akan terbuka halaman seperti berikut:
selesai