فهرست منبع

Merge pull request #5702 from cvium/ws-auth

add simple auth handling to websocketmanager

(cherry picked from commit 3412120c614384fc82bef4571c2fdcd45dae0a38)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
Bond-009 4 سال پیش
والد
کامیت
53f333bd64
1فایلهای تغییر یافته به همراه4 افزوده شده و 0 حذف شده
  1. 4 0
      Emby.Server.Implementations/HttpServer/WebSocketManager.cs

+ 4 - 0
Emby.Server.Implementations/HttpServer/WebSocketManager.cs

@@ -14,15 +14,18 @@ namespace Emby.Server.Implementations.HttpServer
     public class WebSocketManager : IWebSocketManager
     {
         private readonly IWebSocketListener[] _webSocketListeners;
+        private readonly IAuthService _authService;
         private readonly ILogger<WebSocketManager> _logger;
         private readonly ILoggerFactory _loggerFactory;
 
         public WebSocketManager(
+            IAuthService authService,
             IEnumerable<IWebSocketListener> webSocketListeners,
             ILogger<WebSocketManager> logger,
             ILoggerFactory loggerFactory)
         {
             _webSocketListeners = webSocketListeners.ToArray();
+            _authService = authService;
             _logger = logger;
             _loggerFactory = loggerFactory;
         }
@@ -30,6 +33,7 @@ namespace Emby.Server.Implementations.HttpServer
         /// <inheritdoc />
         public async Task WebSocketRequestHandler(HttpContext context)
         {
+            _ = _authService.Authenticate(context.Request);
             try
             {
                 _logger.LogInformation("WS {IP} request", context.Connection.RemoteIpAddress);