Changes for page CAS PHP klient

Last modified by Petr Abrahamczik on 16.04.2024 10:11

From version 2.1
edited by Petr Abrahamczik
on 08.02.2019 09:24
Change comment: There is no comment for this version
To version 7.1
edited by Petr Abrahamczik
on 16.04.2024 10:11
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,21 +1,20 @@
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. 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"}}
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 7  <?php
8 -
9 9  // pri pouziti composer
10 10  require_once './vendor/autoload.php';
11 11  
12 12  // initialize phpCAS
13 -phpCAS::client(CAS_VERSION_3_0,'www.sso.vsb.cz',443,'');
12 +phpCAS::client(CAS_VERSION_3_0,'www.sso.vsb.cz',443,'','https://klient.vsb.cz');
14 14  
15 -// Nastavení certifikátu (nebo certifikační autority) serveru CAS
16 -phpCAS::setCasServerCACert('chain_TERENA_SSL_High_Assurance_CA_3.pem');
14 +// Nastaveni certifikatu (nebo certifikacni autority) serveru CAS
15 +phpCAS::setCasServerCACert('chain_geant_ov_rsa_ca_4_full.pem');
17 17  
18 -// zapnutí podpory single sign out (omezení pouze na CAS server)
17 +// zapnuti podpory single sign out (omezeni pouze na CAS server)
19 19  phpCAS::handleLogoutRequests(true, array("www.sso.vsb.cz"));
20 20  
21 21  // provede autentizaci
... ... @@ -25,7 +25,6 @@
25 25  
26 26  // odhlaseni
27 27  if (isset($_REQUEST['logout'])) {
28 -// odhlaseni z CAS
29 29   phpCAS::logout();
30 30  
31 31  // odhlaseni s presmerovanim zpatky
... ... @@ -43,12 +43,30 @@
43 43   <p>phpCAS version is <b><?php echo phpCAS::getVersion(); ?></b>.</p>
44 44  
45 45  <?php
46 -// zde je již uživatel autentizován
44 +// zde je jiz uzivatel autentizovan
47 47  if (phpCAS::isAuthenticated()) {
48 48  ?>
49 49  
50 50   <h1>Successfull Authentication!</h1>
51 51   <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 +
52 52   <p><a href="?logout">Log Out</a></p>
53 53  
54 54  <?php
... ... @@ -68,3 +68,4 @@
68 68  </html>
69 69  {{/code}}
70 70  )))
87 +