using System.Threading.Tasks;
using Umbraco.Core.Models.Identity;
namespace Umbraco.Web.Security
{
///
/// Used by the BackOfficeUserManager to check the username/password which allows for developers to more easily
/// set the logic for this procedure.
///
public interface IBackOfficeUserPasswordChecker
{
///
/// Checks a password for a user
///
///
///
///
///
/// This will allow a developer to auto-link a local account which is required if the user queried doesn't exist locally.
/// The user parameter will always contain the username, if the user doesn't exist locally, the other properties will not be filled in.
/// A developer can then create a local account by filling in the properties and using UserManager.CreateAsync
///
Task CheckPasswordAsync(BackOfficeIdentityUser user, string password);
}
}