1<?php 2 3/** 4 * Licensed to Jasig under one or more contributor license 5 * agreements. See the NOTICE file distributed with this work for 6 * additional information regarding copyright ownership. 7 * 8 * Jasig licenses this file to you under the Apache License, 9 * Version 2.0 (the "License"); you may not use this file except in 10 * compliance with the License. You may obtain a copy of the License at: 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, software 15 * distributed under the License is distributed on an "AS IS" BASIS, 16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 * See the License for the specific language governing permissions and 18 * limitations under the License. 19 * 20 * PHP Version 7 21 * 22 * @file CAS/ProxiedService.php 23 * @category Authentication 24 * @package PhpCAS 25 * @author Adam Franco <afranco@middlebury.edu> 26 * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 27 * @link https://wiki.jasig.org/display/CASC/phpCAS 28 */ 29 30/** 31 * This interface defines methods that allow proxy-authenticated service handlers 32 * to interact with phpCAS. 33 * 34 * Proxy service handlers must implement this interface as well as call 35 * phpCAS::initializeProxiedService($this) at some point in their implementation. 36 * 37 * While not required, proxy-authenticated service handlers are encouraged to 38 * implement the CAS_ProxiedService_Testable interface to facilitate unit testing. 39 * 40 * @class CAS_ProxiedService 41 * @category Authentication 42 * @package PhpCAS 43 * @author Adam Franco <afranco@middlebury.edu> 44 * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 45 * @link https://wiki.jasig.org/display/CASC/phpCAS 46 */ 47interface CAS_ProxiedService 48{ 49 50 /** 51 * Answer a service identifier (URL) for whom we should fetch a proxy ticket. 52 * 53 * @return string 54 * @throws Exception If no service url is available. 55 */ 56 public function getServiceUrl (); 57 58 /** 59 * Register a proxy ticket with the ProxiedService that it can use when 60 * making requests. 61 * 62 * @param string $proxyTicket Proxy ticket string 63 * 64 * @return void 65 * @throws InvalidArgumentException If the $proxyTicket is invalid. 66 * @throws CAS_OutOfSequenceException If called after a proxy ticket has 67 * already been initialized/set. 68 */ 69 public function setProxyTicket ($proxyTicket); 70 71} 72?> 73