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
Změnit komentář: Žádné komentáře k této verzi
Na verzi 2.1
změnil(a) Petr Abrahamczik
k 08.02.2019 09:24
Změnit komentář: Žádné komentáře k této verzi

Summary

Details

Page properties
Content
... ... @@ -1,5 +1,70 @@
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="html"}}
7 +<?php
4 4  
9 +// pri pouziti composer
10 +require_once './vendor/autoload.php';
5 5  
12 +// initialize phpCAS
13 +phpCAS::client(CAS_VERSION_3_0,'www.sso.vsb.cz',443,'');
14 +
15 +// Nastavení certifikátu (nebo certifikační autority) serveru CAS
16 +phpCAS::setCasServerCACert('chain_TERENA_SSL_High_Assurance_CA_3.pem');
17 +
18 +// zapnutí podpory single sign out (omezení pouze na CAS server)
19 +phpCAS::handleLogoutRequests(true, array("www.sso.vsb.cz"));
20 +
21 +// provede autentizaci
22 +if (isset($_REQUEST['login'])) {
23 + phpCAS::forceAuthentication();
24 +}
25 +
26 +// odhlaseni
27 +if (isset($_REQUEST['logout'])) {
28 +// odhlaseni z CAS
29 + phpCAS::logout();
30 +
31 +// odhlaseni s presmerovanim zpatky
32 +// phpCAS::logoutWithRedirectService('https://klient.vsb.cz');
33 +}
34 +
35 +?>
36 +
37 +<html>
38 + <head>
39 + <title>php CAS Example</title>
40 + </head>
41 + <body>
42 +
43 + <p>phpCAS version is <b><?php echo phpCAS::getVersion(); ?></b>.</p>
44 +
45 +<?php
46 +// zde je již uživatel autentizován
47 +if (phpCAS::isAuthenticated()) {
48 +?>
49 +
50 + <h1>Successfull Authentication!</h1>
51 + <p>the user's login is <b><?php echo phpCAS::getUser(); ?></b>.</p>
52 + <p><a href="?logout">Log Out</a></p>
53 +
54 +<?php
55 +// uzivatel neni autentizovan
56 +} else {
57 +?>
58 +
59 + <h1>Unauthenticated!</h1>
60 +
61 + <p><a href="?login">Log In</a></p>
62 +
63 +<?php
64 +}
65 +?>
66 +
67 + </body>
68 +</html>
69 +{{/code}}
70 +)))