public async Task <IdentityResult> ValidateAsync(UserManager <TUser> manager, TUser user, string password)
        {
            var isPwned = string.IsNullOrEmpty(password) || await _service.HasPasswordBeenPwned(password);

            var result = isPwned
                ? IdentityResult.Failed(new IdentityError
            {
                Code        = "PwnedPassword",
                Description = "The password you chose has appeared in a data breach."
            })
                : IdentityResult.Success;

            return(result);
        }