diff --git a/src/Blacklist.php b/src/Blacklist.php index ba12405b..845e7d72 100644 --- a/src/Blacklist.php +++ b/src/Blacklist.php @@ -91,13 +91,18 @@ public function add(Payload $payload) */ protected function getMinutesUntilExpired(Payload $payload) { - $exp = Utils::timestamp($payload['exp']); - $iat = Utils::timestamp($payload['iat']); + $now = time(); + $exp = (int) $payload['exp']; + $iat = (int) $payload['iat']; + + // get the latter of the two expiration timestamps + $latterTs = max([$exp, $iat + 60 * $this->refreshTTL]); + + // find the number of minutes until the expiration timestamp + $minutesUntilExpired = (int) (($latterTs - $now) / 60); - // get the latter of the two expiration dates and find - // the number of minutes until the expiration date, // plus 1 minute to avoid overlap - return $exp->max($iat->addMinutes($this->refreshTTL))->addMinute()->diffInRealMinutes(); + return $minutesUntilExpired + 1; } /**