// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Threading.Tasks;
namespace Microsoft.AspNet.Identity
{
///
/// Provides an abstraction for validating passwords.
///
/// The type that represents a user.
public interface IPasswordValidator
{
///
/// Validates a password as an asynchronous operation.
///
/// The to retrieve the properties from.
/// The user whose password should be validated.
/// The password supplied for validation
/// The task object representing the asynchronous operation.
Task ValidateAsync(UserManager manager, TUser user, string password) where TUser : class;
}
}