diff -r bd595ad770fc -r 1c2f13fd785c web/enmi/Zend/Service/DeveloperGarden/SecurityTokenServer.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/enmi/Zend/Service/DeveloperGarden/SecurityTokenServer.php Thu Jan 20 19:30:54 2011 +0100 @@ -0,0 +1,127 @@ + 'Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse', + 'getTokensResponse' => 'Zend_Service_DeveloperGarden_Response_SecurityTokenServer_GetTokensResponse' + ); + + /** + * does the login and return the specific response + * + * @return Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse + */ + public function getLoginToken() + { + $token = Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getTokenFromCache( + 'securityToken' + ); + + if ($token === null + || !$token->isValid() + ) { + $token = $this->getSoapClient()->login('login'); + Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setTokenToCache( + 'securityToken', + $token + ); + } + + return $token; + } + + /** + * returns the fetched token from token server + * + * @return Zend_Service_DeveloperGarden_Response_SecurityTokenServer_GetTokensResponse + */ + public function getTokens() + { + $token = Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getTokenFromCache( + 'getTokens' + ); + + if ($token === null + || !$token->isValid() + ) { + $token = $this->getSoapClient()->getTokens(array( + 'serviceId' => $this->_serviceAuthId + )); + Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setTokenToCache( + 'getTokens', + $token + ); + } + return $token; + } +}