Written by Jefri Pakpahan / staff.blog.ui.ac.id, PHP

Posted with : Composer, Jasig CAS, PHP CAS, Yii 2.0, Yii Framework


Setelah di posting sebelumnya tentang Yii Environtment, di kantor saya yakni PPSI yang baru berubah menjadi DSTI sudah menggunakan Single Sign On melalui phpCAS. Beberapa aplikasi baru diharapkan menggunakan SSO untuk login akun JUITA (akun UI). Yii 2.0 adalah framework yang saya pilih untuk SSO menggunakan library phpCAS, caranya pun cukup mudah.

1. Pastikan Anda mempunyai Composer (cara instalasi Composer) dan sudah menginstalasi Yii 2.0 Framework (baik basic ataupun advanced, disini saya mengunduh aplikasi Yii 2.0 basic app).

2. Jangan lupa lakukan perintah composer php composer.phar global require "fxp/composer-asset-plugin:1.0.0-beta4".

3. Tambahkan library phpCAS pada file composer.json seperti berikut (punya saya) :

1
2
3
4
5
6
7
"require": {
	"php": ">=5.4.0",
	"yiisoft/yii2": "*",
	"yiisoft/yii2-bootstrap": "*",
	"yiisoft/yii2-swiftmailer": "*",
	"jasig/phpcas": "1.3.3"
},

lalu lakukan composer update

4. Sekarang tinggal setting casHost, casPort dan casContext dari CAS server, pada config/params.php tambahkan (contoh) :

1
2
3
4
5
6
7
<?php

return [
'casHost' => 'sso.ui.ac.id',
'casPort' => 443,
'casContext' => 'cas',
];

* nb : Dibutuhkan hak akses aplikasi ke cas server dibutuhkan agar dapat mengakses CAS server.

5. Contoh controller/action untuk login ke CAS server

Snippet SiteController

1
2
3
4
5
6
7
8
// Enable debugging
\phpCAS::setDebug();
// Initialize phpCAS
\phpCAS::client(CAS_VERSION_2_0, \Yii::$app->params['casHost'], \Yii::$app->params['casPort'], \Yii::$app->params['casContext']);
\phpCAS::setNoCasServerValidation();
\phpCAS::forceAuthentication();

echo \phpCAS::getUser();

Anda akan diminta login SSO, setelah login maka akan muncul username Anda.

Sekian.



blog comments powered by Disqus