From fc49b895ef2e38bbc820b3eda503a8afdbaabe44 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <jkowalsk@student.agh.edu.pl> Date: Thu, 20 Aug 2015 13:25:27 +0000 Subject: [PATCH] Add isAuthenticated() method to check whether user is already logged in --- uphpCAS.php | 27 ++++++++++++++++++++++++++- 1 files changed, 26 insertions(+), 1 deletions(-) diff --git a/uphpCAS.php b/uphpCAS.php index 63bfc51..2b734f4 100644 --- a/uphpCAS.php +++ b/uphpCAS.php @@ -71,9 +71,13 @@ die(); } + public function isAuthenticated() { + return isset($_SESSION['uphpCAS-user']); + } + public function authenticate() { session_start(); - if(isset($_SESSION['uphpCAS-user'])) { + if($this->isAuthenticated()) { return $_SESSION['uphpCAS-user']; } elseif(isset($_REQUEST['ticket'])) { $user = $this->verifyTicket($_REQUEST['ticket']); @@ -101,6 +105,27 @@ ), ); + if(version_compare(PHP_VERSION, '5.6', '<')) { + $cafiles = array( + '/etc/ssl/certs/ca-certificates.crt', + '/etc/ssl/certs/ca-bundle.crt', + '/etc/pki/tls/certs/ca-bundle.crt', + ); + $cafile = NULL; + foreach($cafiles as $file) { + if(is_file($file)) { + $cafile = $file; + break; + } + } + + $url = parse_url($this->serverUrl); + $context['ssl']['cafile'] = $cafile; + $context['ssl']['ciphers'] = 'ECDH:DH:AES:CAMELLIA:!SSLv2:!aNULL' + .':!eNULL:!EXPORT:!DES:!3DES:!MD5:!RC4:!ADH:!PSK:!SRP'; + $context['ssl']['CN_match'] = $url['host']; + } + $data = file_get_contents($this->serverUrl .'/serviceValidate?service='.urlencode($this->serviceUrl) .'&ticket='.urlencode($ticket), -- Gitblit v1.9.1