CAS PHP klient
Version 3.1 by Petr Abrahamczik on 08.02.2019 09:27
V ukázkovém příkladu je popsán základní způsob konfigurace webové aplikace v PHP pomocí phpCAS. Aplikace je schopna získat přihlášeného uživatele pomocí CAS v3 protokolu.
- Do aplikace je potřeba přidat knihovny klienta. Pokud využíváme composer lze to provést pomocí příkazu composer require jasig/phpcas a nebo je možné knihovnu stáhnout a přidat ručně.
- Stáhnout certifikát certifikáční autority CAS serveru ze stránky https://pki.cesnet.cz/cs/ch-tcs-ev-ssl-ca-3-crt-crl.html
- Příklad aplikace. Adresu https://klient.vsb.cz je potřeba nahradit adresou aplikace a certifikát je potřeba mít ve stejném adresáři jako tento soubor.<?php
// pri pouyiti composer
require_once './vendor/autoload.php';
// initialize phpCAS
phpCAS::client(CAS_VERSION_3_0,'www.sso.vsb.cz',443,'');
// Nastavení certifikátu (nebo certifikační autority) serveru CAS
phpCAS::setCasServerCACert('chain_TERENA_SSL_High_Assurance_CA_3.pem');
// zapnutí podpory single sign out (omezení pouze na CAS server)
phpCAS::handleLogoutRequests(true, array("www.sso.vsb.cz"));
// provede autentizaci
if (isset($_REQUEST['login'])) {
phpCAS::forceAuthentication();
}
// odhlaseni
if (isset($_REQUEST['logout'])) {
phpCAS::logout();
// odhlaseni s presmerovanim zpatky
// phpCAS::logoutWithRedirectService('http://klient.vsb.cz');
}
?>
<html>
<head>
<title>php CAS Example</title>
</head>
<body>
<p>phpCAS version is <b></b>.</p>
<?php
// zde je již uživatel autentizován
if (phpCAS::isAuthenticated()) {
?>
<h1>Successfull Authentication!</h1>
<p>the user's login is <b><?php echo phpCAS::getUser(); ?></b>.</p>
<p><a href="?logout">Log Out</a></p>
<?php
// uzivatel neni autentizovan
} else {
?>
<h1>Unauthenticated!</h1>
<p><a href="?login">Log In</a></p>
<?php
}
?>
</body>
</html>