using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; using Tango.BL.Enumerations; using Tango.FSE.BL; using Tango.MachineService.Gateway; namespace Tango.FSE.Common.Authentication { /// /// Represents the user authentication provider responsible for the current logged-in user. /// public interface IAuthenticationProvider : IAuthenticationService { /// /// Occurs when the current logged-in user has changed. /// event EventHandler CurrentUserChanged; /// /// Performs a user login by the specified email and password. /// /// The email. /// The password. /// The environment. /// Task Login(String email, String password, EnvironmentConfiguration environment, Action onStatusChanged = null); /// /// Changes the specified user password. /// /// The email. /// The old password. /// The new password. /// Task ChangePassword(String email, String oldPassword, String newPassword); /// /// Logs-out the current logged-in user. /// void LogOut(); } }