public static function getDynamicSessionSignature($glt_cookie, $timeoutInSeconds, $secret) { // cookie format: // <expiration time in unix time format>_BASE64(HMACSHA1(secret key, <login token>_<expiration time in unix time format>)) $expirationTimeUnixMS = SigUtils::currentTimeMillis() / 1000 + $timeoutInSeconds; $expirationTimeUnix = (string) floor($expirationTimeUnixMS); $unsignedExpString = $glt_cookie . "_" . $expirationTimeUnix; $signedExpString = SigUtils::calcSignature($unsignedExpString, $secret); // sign the base string using the secret key $ret = $expirationTimeUnix . '_' . $signedExpString; // define the cookie value return $ret; }