IAuthService.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #nullable enable
  2. using Jellyfin.Data.Entities;
  3. using MediaBrowser.Model.Services;
  4. using Microsoft.AspNetCore.Http;
  5. namespace MediaBrowser.Controller.Net
  6. {
  7. /// <summary>
  8. /// IAuthService.
  9. /// </summary>
  10. public interface IAuthService
  11. {
  12. /// <summary>
  13. /// Authenticate and authorize request.
  14. /// </summary>
  15. /// <param name="request">Request.</param>
  16. /// <param name="authAttribtutes">Authorization attributes.</param>
  17. void Authenticate(IRequest request, IAuthenticationAttributes authAttribtutes);
  18. /// <summary>
  19. /// Authenticate and authorize request.
  20. /// </summary>
  21. /// <param name="request">Request.</param>
  22. /// <param name="authAttribtutes">Authorization attributes.</param>
  23. /// <returns>Authenticated user.</returns>
  24. User? Authenticate(HttpRequest request, IAuthenticationAttributes authAttribtutes);
  25. /// <summary>
  26. /// Authenticate request.
  27. /// </summary>
  28. /// <param name="request">The request.</param>
  29. /// <returns>Authorization information. Null if unauthenticated.</returns>
  30. AuthorizationInfo Authenticate(HttpRequest request);
  31. }
  32. }