There is no good reason why anyone should be allowed to inherit from these
classes, especially since all the methods are either public or private (and not
protected).
* @package WoltLabSuite\System\User\Multifactor
* @since 5.4
*/
-class BackupMultifactorMethod implements IMultifactorMethod {
+final class BackupMultifactorMethod implements IMultifactorMethod {
/**
* @var IPasswordAlgorithm
*/
* @package WoltLabSuite\System\User\Multifactor
* @since 5.4
*/
-class EmailMultifactorMethod implements IMultifactorMethod {
+final class EmailMultifactorMethod implements IMultifactorMethod {
private const LIFETIME = 10 * 60;
private const REFRESH_AFTER = 2 * 60;
* @package WoltLabSuite\System\User\Multifactor
* @since 5.4
*/
-class TotpMultifactorMethod implements IMultifactorMethod {
+final class TotpMultifactorMethod implements IMultifactorMethod {
private const USER_ATTEMPTS_PER_TEN_MINUTES = 5;
/**