Projet

Général

Profil

Paste
Télécharger (2,66 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / libraries / CAS.dgeo / CAS / ProxiedService.php @ 64ad485a

1
<?php
2
/*
3
 * Copyright � 2003-2010, The ESUP-Portail consortium & the JA-SIG Collaborative.
4
 * All rights reserved.
5
 *
6
 * Redistribution and use in source and binary forms, with or without
7
 * modification, are permitted provided that the following conditions are met:
8
 *
9
 *                 * Redistributions of source code must retain the above copyright notice,
10
 *                         this list of conditions and the following disclaimer.
11
 *                 * Redistributions in binary form must reproduce the above copyright notice,
12
 *                         this list of conditions and the following disclaimer in the documentation
13
 *                         and/or other materials provided with the distribution.
14
 *                 * Neither the name of the ESUP-Portail consortium & the JA-SIG
15
 *                         Collaborative nor the names of its contributors may be used to endorse or
16
 *                         promote products derived from this software without specific prior
17
 *                         written permission.
18
 *
19
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
23
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
26
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 */
30

    
31
/**
32
 * This interface defines methods that allow proxy-authenticated service handlers
33
 * to interact with phpCAS.
34
 * 
35
 * Proxy service handlers must implement this interface as well as call
36
 * phpCAS::initializeProxiedService($this) at some point in their implementation.
37
 *
38
 * While not required, proxy-authenticated service handlers are encouraged to
39
 * implement the CAS_ProxiedService_Testable interface to facilitate unit testing.
40
 */
41
interface CAS_ProxiedService {
42
                
43
        /**
44
         * Answer a service identifier (URL) for whom we should fetch a proxy ticket.
45
         * 
46
         * @return string
47
         * @throws Exception If no service url is available.
48
         */
49
        public function getServiceUrl ();
50
        
51
        /**
52
         * Register a proxy ticket with the ProxiedService that it can use when making requests.
53
         * 
54
         * @param string $proxyTicket
55
         * @return void
56
         * @throws InvalidArgumentException If the $proxyTicket is invalid.
57
         * @throws CAS_OutOfSequenceException If called after a proxy ticket has already been initialized/set.
58
         */
59
        public function setProxyTicket ($proxyTicket);
60
        
61
}