Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
1 / 1
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3declare(strict_types=1);
4
5/** @license For full copyright and license information, please see the LICENSE.md file. */
6
7namespace App\Core\Security\Password;
8
9defined('AMMONLY_APP') || exit('Direct script access is forbidden.');
10
11/**
12 * Compromised Password Validator Interface.
13 *
14 * Enforces NIST SP 800-63B ยง5.1.1.2 and OWASP ASVS v5 V2.1.7 controls requiring passwords
15 * to be verified against lists of breached credentials.
16 *
17 * @package App\Core\Security\Password
18 */
19interface CompromisedPasswordValidatorInterface
20{
21    /**
22     * Checks whether the given plain password appears in a list of compromised passwords.
23     *
24     * @param string $password Plaintext password candidate.
25     * @return bool True if password is known to be compromised, false otherwise.
26     */
27    public function isCompromised(string $password): bool;
28}