Koperasi NP : Indonesia Mandiri, Maju, Adil dan Makmur
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
1. Konfigurasi simpleSAMLphp
dengan Google Apps Sebagai Identity Provider
OpenThink Labs Workshops
Membangun Platform Single Sign On (SSO) berbasis Security Assertion Markup Language (SAML)
Wildan Maulana <wildan.m@openthinklabs.com>
Senin 3 Desember 2012
Daftar Isi
Dokumentasi dan Berita terkait simpleSAMLphp.....................................................................................2
Mengaktifkan Dukungan OpenID Provider ..............................................................................................2
Opsi..............................................................................................................................................2
auth ..............................................................................................................................................2
username_attribute.......................................................................................................................3
filestore........................................................................................................................................3
Testing...............................................................................................................................................3
Delegasi............................................................................................................................................5
Referensi....................................................................................................................................................6
1
2. Dokumentasi dan Berita terkait simpleSAMLphp
Dokumentasi ini merupakan saduran dari dokumentasi resmi simpleSAMLphp dan merupakan bagian
dari serangkaian dokumentasi lainnya terkait simpleSAMLphp.
• Daftar lengkap dokumentasi resmi simpleSAMLphp, http://simplesamlphp.org/docs/stable/
• Berita terbaru mengenai simpleSAMLphp, https://rnd.feide.no/category/simplesamlphp/
• Homepage simpleSAMLphp, http://simplesamlphp.org/
• Sumber belajar simpleSAMLphp di OpenThink Labs Workshop,
http://workshop.openthinklabs.com/resources/-federated-identity/membangun-platform-single-
sign-on-sso-berbasis-security-assertion-markup-language-saml
Mengaktifkan Dukungan OpenID Provider
simpleSAMLphp dapat berperan sebagai openID Provider. Dengan kemampuan ini, Anda dapat
mengintegrasikan OpenID ke IdP yang telah ada, atau menambahkan bridge antara OpenID dan SAML
2.0.
Sebelum menggunakannya, Anda harus mengaktifkan module OpenID Provider dengan cara membuat
file bernama enable pada direktori modules/openidProvider
(NPIdP) touch modules/openidProvider/enable
Selain itu, Anda juga harus mengedit file konfigurasi :
(NPIdP) cp modules/openidProvider/config-
template/module_openidProvider.php config/
Opsi
Opsi-opsi berikut harus diset pada file konfigurasi :
auth
Sumber autentifikasi yang harus digunakan untuk mengautentifikasi user yang mengakses
OpenID endpoint. Nilainya dapat sumber autentifikasi mana saja yang telah dikonfigurasi di
config/authsources.php.
Untuk mengkonfigurasi sebagai bridge, Anda harus mensetup sumber autentifikasi saml, dan
menggunakannya sebagai nilai dari opsi ini.
2
3. username_attribute
Nama dari attribute yang mengandung username seorang user.
filestore
Sebuah path ke lokasi direktori dimana OpenID provider dapat menyimpan data. Direktori ini
harus dapat ditulis oleh web server.
Testing
Untuk mengetes provider Anda, bukalah tab authentication pada halaman depan simpleSAMLphp.
Disana Anda akan melihat link ke OpenID provider. Klik link tersebut dan log in. Setelah Anda login,
OpenID identifier untuk user Anda akan ditampilkan. Gunakan identifier tersebut dengan OpenID
consumer untuk mengetes proses autentifikasi.
Gambar 1: OpenID Provider
Setelah kita mengklik OpenID Provider, maka akan muncul halaman berikut :
Gambar 2: Link Login OpenID Provider
Sesudah mengklik link Login seperti terlihat pada gambar 2, maka Anda akan dibawa kehalaman daftar
akun anda di Google yang sudah aktif (jika ada), seperti berikut :
3
4. Gambar 3: Pilih Akun
Pilih salah satu akun yang ingin Anda gunakan, jika sudah, Anda akan dibawa kembali ke halaman
OpenID Provider :
Gambar 4: OpenID User Page
4
5. Pada Gamba 4, terdapat beberapa informasi penting, yaitu :
1. OpenID Identifier
OpenID Identifier bisa dikatakan adalah username, username yang kita gunakan jika ingin login
ke sebuah layanan atau website yang mendukung OpenID. Pada Gambar 4, OpenID
Identifiernya adalah :
http://idp.negeripelangi.wm/module.php/openidProvider/user.php/wildan.m@negeripelangi.co
m
2. Delegasi
Jika Anda menggunakan username seperti pada poin 1 diatas, terbayangkan betapa rempot
mengetikkannya ? Nah, dengan fitur Delegasi kita bisa membuat username OpenID menjadi
lebih pendek, misalkan Anda memiliki sebuah blog yang bernama :
http://energiangin.openthinklabs.com
Anda dapat login dengan menggunakan username : energiangin.openthinklabs.com
Dengan syarat, kode html berikut sudah Anda copy paste ke bagian head blog anda :
<link rel="openid.server"
href="http://idp.negeripelangi.wm/module.php/openidProvider/serv
er.php" />
<link rel="openid2.provider"
href="http://idp.negeripelangi.wm/module.php/openidProvider/serv
er.php" />
<link rel="openid.delegate"
href="http://idp.negeripelangi.wm/module.php/openidProvider/user
.php/wildan.m@negeripelangi.com" />
<link rel="openid2.local_id"
href="http://idp.negeripelangi.wm/module.php/openidProvider/user
.php/wildan.m@negeripelangi.com" />
Delegasi
OpenID identifier yang dibuat oleh simpleSAMLphp OpenID Provider cukup panjang dan sulit untuk
diketik. Untuk menggunakan identifier yang lebih sederhana, Anda dapat mendelegasikan akses dari
identifier yang sederhana ke OpenID Provider. Halaman OpenID Anda akan memberikan dua buah
elemen <link> yang dapat Anda tambahkan ke halam web manapun agar web tersebut menggunakan
OpenID identifier milik Anda.
5
6. Sebagai contoh, untuk menggunakan myid.example.org sebagai OpenID identifier Anda, tambahkan
elemen <link> ke halaman web yang menangani http://myid.example.org
Untuk implemenatasi, silahkan lihat poin 2 pada bagian sebelumnya yang membahas tentang delegasi.
Referensi
1. OpenID provider support, http://simplesamlphp.org/docs/stable/openidProvider:provider
6