Changes for page CAS PHP klient

Last modified by Petr Abrahamczik on 16.04.2024 10:11

From version 1.1
edited by Petr Abrahamczik
on 08.02.2019 09:10
Change comment: There is no comment for this version
To version 5.1
edited by Petr Abrahamczik
on 08.02.2019 09:35
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,5 +1,69 @@
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 jasig/phpcas## a nebo je možné knihovnu stáhnout a přidat ručně.
4 +1. Stáhnout [[certifikát>>https://pki.cesnet.cz/certs/chain_TERENA_SSL_High_Assurance_CA_3.pem]] certifikáční autority CAS serveru ze stránky https://pki.cesnet.cz/cs/ch-tcs-ev-ssl-ca-3-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,'');
5 5  
14 +// Nastaveni certifikatu (nebo certifikacni autority) serveru CAS
15 +phpCAS::setCasServerCACert('chain_TERENA_SSL_High_Assurance_CA_3.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 + <p><a href="?logout">Log Out</a></p>
51 +
52 +<?php
53 +// uzivatel neni autentizovan
54 +} else {
55 +?>
56 +
57 + <h1>Unauthenticated!</h1>
58 +
59 + <p><a href="?login">Log In</a></p>
60 +
61 +<?php
62 +}
63 +?>
64 +
65 + </body>
66 +</html>
67 +{{/code}}
68 +)))
69 +