ソースを参照

Use the totp period from Uri instead of hard coded value

Bubka 5 年 前
コミット
9fa4308e24
1 ファイル変更6 行追加3 行削除
  1. 6 3
      app/Classes/TimedTOTP.php

+ 6 - 3
app/Classes/TimedTOTP.php

@@ -26,11 +26,14 @@ class TimedTOTP
         }
 
         $currentPosition = time();
-        $PeriodCount = floor($currentPosition / 30); //nombre de période de 30s depuis T0
-        $currentPeriodStartAt = $PeriodCount * 30;
-        $currentPeriodendAt = $currentPeriodStartAt + 30;
+        $PeriodCount = floor($currentPosition / $otp->getPeriod()); //nombre de période de x s depuis T0 (x=30 par défaut)
+        $currentPeriodStartAt = $PeriodCount * $otp->getPeriod();
         $positionInCurrentPeriod = $currentPosition - $currentPeriodStartAt;
 
+        // for memo :
+        // $nextOtpAt = ($PeriodCount+1)*$period
+        // $remainingTime = $nextOtpAt - time()
+
         $totp = [
             'totp' => $otp->now(),
             'position' => $positionInCurrentPeriod