예제 #1
0
 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;
 }