aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public/Security/Events/ValidatePasswordPolicyEvent.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/public/Security/Events/ValidatePasswordPolicyEvent.php')
-rw-r--r--lib/public/Security/Events/ValidatePasswordPolicyEvent.php49
1 files changed, 49 insertions, 0 deletions
diff --git a/lib/public/Security/Events/ValidatePasswordPolicyEvent.php b/lib/public/Security/Events/ValidatePasswordPolicyEvent.php
new file mode 100644
index 00000000000..d7ac9442392
--- /dev/null
+++ b/lib/public/Security/Events/ValidatePasswordPolicyEvent.php
@@ -0,0 +1,49 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+namespace OCP\Security\Events;
+
+use OCP\EventDispatcher\Event;
+use OCP\Security\PasswordContext;
+
+/**
+ * This event can be emitted to request a validation of a password.
+ *
+ * If a password policy app is installed and the password
+ * is invalid, an `\OCP\HintException` will be thrown.
+ * @since 18.0.0
+ */
+class ValidatePasswordPolicyEvent extends Event {
+
+ /**
+ * @since 18.0.0
+ * @since 31.0.0 - $context parameter added
+ */
+ public function __construct(
+ private string $password,
+ private PasswordContext $context = PasswordContext::ACCOUNT,
+ ) {
+ parent::__construct();
+ }
+
+ /**
+ * Get the password that should be validated.
+ * @since 18.0.0
+ */
+ public function getPassword(): string {
+ return $this->password;
+ }
+
+ /**
+ * Get the context this password should validated for.
+ * @since 31.0.0
+ */
+ public function getContext(): PasswordContext {
+ return $this->context;
+ }
+}