function processConsentToken($token, $context = null) { if (!$token) { WindowsLiveLogin::debug('Error: processConsentToken: Null token.'); return; } $decodedToken = $token; $parsedToken = WindowsLiveLogin::parse(urldecode($decodedToken)); if (!$parsedToken) { WindowsLiveLogin::debug("Error: processConsentToken: Failed to parse token: {$token}"); return; } $eact = @$parsedToken['eact']; if ($eact) { $decodedToken = WindowsLiveLogin::decodeAndValidateToken($eact); if (!$decodedToken) { WindowsLiveLogin::debug("Error: processConsentToken: Failed to decode/validate token: {$token}"); return; } $parsedToken = WindowsLiveLogin::parse($decodedToken); if (!$parsedToken) { WindowsLiveLogin::debug("Error: processConsentToken: Failed to parse token after decoding: {$token}"); return; } $decodedToken = urlencode($decodedToken); } $consenttoken = null; //try { $consenttoken = new WLL_ConsentToken($this, @$parsedToken['delt'], @$parsedToken['reft'], @$parsedToken['skey'], @$parsedToken['exp'], @$parsedToken['offer'], @$parsedToken['lid'], $context, $decodedToken, $token); //} catch (Exception $e) { if ($consenttoken->getError() !== false) { WindowsLiveLogin::debug("Error: processConsentToken: Contents of token considered invalid: " + $consenttoken->getError()); } //} return $consenttoken; }