public function parseToken($aid, array $cookies, $cookieName)
 {
     if ($cookies == null || count($cookies) == 0) {
         return new TPAccessTokenList();
     }
     $cookieName = TinyPass::getAppPrefix($aid) . $cookieName;
     $token = null;
     foreach ($cookies as $name => $value) {
         if ($name == $cookieName) {
             $token = $value;
             break;
         }
     }
     if ($token == null) {
         return new TPAccessTokenList($aid, null);
     }
     $token = urldecode($token);
     if ($token != null && count($token) > 0) {
         $parser = new TPClientParser($this->privateKey);
         $accessTokenList = $parser->parseAccessTokenList($token);
         $accessTokenList->setRawToken($token);
         return $accessTokenList;
     }
     return new TPAccessTokenList($aid, null);
 }
Exemplo n.º 2
0
 public function loadTokensFromCookie($cookies, $cookieName = null)
 {
     if ($cookieName == null) {
         $cookieName = TPConfig::getAppPrefix($this->config->AID) . TPConfig::$COOKIE_SUFFIX;
     }
     $unparsedTokenValue = '';
     if (is_array($cookies)) {
         foreach ($cookies as $name => $value) {
             if ($name == $cookieName) {
                 $unparsedTokenValue = $value;
                 break;
             }
         }
     } else {
         $unparsedTokenValue = $cookies;
     }
     $this->rawCookie = $unparsedTokenValue;
     if ($unparsedTokenValue != null) {
         $parser = new TPClientParser();
         $this->tokens = $parser->parseAccessTokens(urldecode($unparsedTokenValue));
     }
 }
Exemplo n.º 3
0
 /**
  * Construct a meter object from serialized data (JSON or encrypted String)
  *
  * @param data serialized string data
  * @return a deserialized meter
  */
 public static function deserialize($data)
 {
     $parser = new TPClientParser(TPClientBuilder::OPEN_ENC);
     $list = $parser->parseAccessTokens($data);
     if ($list != null && count($list) > 0) {
         return new TPMeter($list->first());
     }
     return null;
 }