Files
newznab-tmux/app/Support/Google2FAAuthenticator.php
T
2023-03-31 16:57:41 +02:00

39 lines
934 B
PHP

<?php
namespace App\Support;
use PragmaRX\Google2FALaravel\Exceptions\InvalidSecretKey;
use PragmaRX\Google2FALaravel\Support\Authenticator;
class Google2FAAuthenticator extends Authenticator
{
protected function canPassWithoutCheckingOTP(): bool
{
if (! $this->getUser()->passwordSecurity) {
return true;
}
return
! $this->getUser()->passwordSecurity->google2fa_enable ||
! $this->isEnabled() ||
$this->noUserIsAuthenticated() ||
$this->twoFactorAuthStillValid();
}
/**
* @return mixed
*
* @throws InvalidSecretKey
*/
protected function getGoogle2FASecretKey()
{
$secret = $this->getUser()->passwordSecurity->{$this->config('otp_secret_column')};
if (empty($secret)) {
throw new InvalidSecretKey('Secret key cannot be empty.');
}
return $secret;
}
}