// 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;
using System.Threading.Tasks;
namespace Microsoft.AspNet.Identity
{
///
/// Provides an abstraction for user validation.
///
/// The type encapsulating a user.
public interface IUserValidator where TUser : class
{
///
/// Validates the specified as an asynchronous operation.
///
/// The that can be used to retrieve user properties.
/// The user to validate.
/// The that represents the asynchronous operation, containing the of the validation operation.
Task ValidateAsync(UserManager manager, TUser user);
}
}