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
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
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
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
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
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

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 Beritaterkait 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: PilihAkun 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, untukmenggunakan 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