IAuthenticationProvider.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. using System.Threading.Tasks;
  2. using MediaBrowser.Controller.Entities;
  3. using MediaBrowser.Model.Users;
  4. namespace MediaBrowser.Controller.Authentication
  5. {
  6. public interface IAuthenticationProvider
  7. {
  8. string Name { get; }
  9. bool IsEnabled { get; }
  10. Task<ProviderAuthenticationResult> Authenticate(string username, string password);
  11. Task<bool> HasPassword(User user);
  12. Task ChangePassword(User user, string newPassword);
  13. void ChangeEasyPassword(User user, string newPassword, string newPasswordHash);
  14. string GetPasswordHash(User user);
  15. string GetEasyPasswordHash(User user);
  16. }
  17. public interface IRequiresResolvedUser
  18. {
  19. Task<ProviderAuthenticationResult> Authenticate(string username, string password, User resolvedUser);
  20. }
  21. public interface IHasNewUserPolicy
  22. {
  23. UserPolicy GetNewUserPolicy();
  24. }
  25. public class ProviderAuthenticationResult
  26. {
  27. public string Username { get; set; }
  28. public string DisplayName { get; set; }
  29. }
  30. }