Změny dokumentu CAS PHP klient
Naposledy změněno Petr Abrahamczik 16.04.2024 10:11
Od verze 1.1
změnil(a) Petr Abrahamczik
k 08.02.2019 09:10
k 08.02.2019 09:10
Změnit komentář:
Žádné komentáře k této verzi
Na verzi 7.1
změnil(a) Petr Abrahamczik
k 16.04.2024 10:11
k 16.04.2024 10:11
Změnit komentář:
Žádné komentáře k této verzi
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,5 +1,87 @@ 1 1 V ukázkovém příkladu je popsán základní způsob konfigurace webové aplikace v PHP pomocí [[phpCAS>>https://github.com/apereo/phpCAS]]. Aplikace je schopna získat přihlášeného uživatele pomocí CAS v3 protokolu. 2 2 3 -1. 3 +1. Do aplikace je potřeba přidat knihovny klienta. Pokud využíváme ##composer## lze to provést pomocí příkazu ##composer require apereo/phpcas## a nebo je možné knihovnu stáhnout a přidat ručně. 4 +1. Stáhnout [[certifikát>>https://pki.cesnet.cz/_media/certs/chain_geant_ov_rsa_ca_4_full.pem]] certifikáční autority CAS serveru ze stránky https://pki.cesnet.cz/cs/ch-tcs-crt-crl.html 5 +1. 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.((( 6 +{{code language="php"}} 7 +<?php 8 +// pri pouziti composer 9 +require_once './vendor/autoload.php'; 4 4 11 +// initialize phpCAS 12 +phpCAS::client(CAS_VERSION_3_0,'www.sso.vsb.cz',443,'','https://klient.vsb.cz'); 5 5 14 +// Nastaveni certifikatu (nebo certifikacni autority) serveru CAS 15 +phpCAS::setCasServerCACert('chain_geant_ov_rsa_ca_4_full.pem'); 16 + 17 +// zapnuti podpory single sign out (omezeni pouze na CAS server) 18 +phpCAS::handleLogoutRequests(true, array("www.sso.vsb.cz")); 19 + 20 +// provede autentizaci 21 +if (isset($_REQUEST['login'])) { 22 + phpCAS::forceAuthentication(); 23 +} 24 + 25 +// odhlaseni 26 +if (isset($_REQUEST['logout'])) { 27 + phpCAS::logout(); 28 + 29 +// odhlaseni s presmerovanim zpatky 30 +// phpCAS::logoutWithRedirectService('https://klient.vsb.cz'); 31 +} 32 + 33 +?> 34 + 35 +<html> 36 + <head> 37 + <title>php CAS Example</title> 38 + </head> 39 + <body> 40 + 41 + <p>phpCAS version is <b><?php echo phpCAS::getVersion(); ?></b>.</p> 42 + 43 +<?php 44 +// zde je jiz uzivatel autentizovan 45 +if (phpCAS::isAuthenticated()) { 46 +?> 47 + 48 + <h1>Successfull Authentication!</h1> 49 + <p>the user's login is <b><?php echo phpCAS::getUser(); ?></b>.</p> 50 + 51 + <h2>User Attributes</h2> 52 + <ul> 53 + 54 +<?php 55 +foreach (phpCAS::getAttributes() as $key => $value) { 56 + if (is_array($value)) { 57 + echo '<li>', $key, ':<ol>'; 58 + foreach ($value as $item) { 59 + echo '<li><strong>', $item, '</strong></li>'; 60 + } 61 + echo '</ol></li>'; 62 + } else { 63 + echo '<li>', $key, ': <strong>', $value, '</strong></li>' . PHP_EOL; 64 + } 65 +} 66 +?> 67 + 68 + <p><a href="?logout">Log Out</a></p> 69 + 70 +<?php 71 +// uzivatel neni autentizovan 72 +} else { 73 +?> 74 + 75 + <h1>Unauthenticated!</h1> 76 + 77 + <p><a href="?login">Log In</a></p> 78 + 79 +<?php 80 +} 81 +?> 82 + 83 + </body> 84 +</html> 85 +{{/code}} 86 +))) 87 +