Beispiel #1
0
 /**
  * Generate a TOTP value.
  *
  * @link http://tools.ietf.org/html/rfc6238#section-4
  *
  * @param TotpConfigurationInterface            $configuration The configuration to use for generation.
  * @param TimeBasedOtpSharedParametersInterface $shared        The shared parameters to use for generation.
  *
  * @return HotpValueInterface The generated TOTP value.
  */
 public function generateTotp(TotpConfigurationInterface $configuration, TimeBasedOtpSharedParametersInterface $shared)
 {
     return $this->generator()->generateHotp(new HotpConfiguration($configuration->digits(), null, null, $configuration->secretLength(), $configuration->algorithm()), new CounterBasedOtpSharedParameters($shared->secret(), intval(floor($shared->time() / $configuration->window()))));
 }