diff --git a/src/NzbDrone.Api/Authentication/EnableStatelessAuthInNancy.cs b/src/NzbDrone.Api/Authentication/EnableStatelessAuthInNancy.cs index a7aae870d7..e6aaeae27d 100644 --- a/src/NzbDrone.Api/Authentication/EnableStatelessAuthInNancy.cs +++ b/src/NzbDrone.Api/Authentication/EnableStatelessAuthInNancy.cs @@ -29,7 +29,7 @@ public Response ValidateApiKey(NancyContext context) var apiKey = GetApiKey(context); - if (context.Request.IsApiRequest() && !ValidApiKey(apiKey)) + if ((context.Request.IsApiRequest() || context.Request.IsFeedRequest()) && !ValidApiKey(apiKey)) { response = new Response { StatusCode = HttpStatusCode.Unauthorized }; } diff --git a/src/NzbDrone.Api/Extensions/RequestExtensions.cs b/src/NzbDrone.Api/Extensions/RequestExtensions.cs index 02686deb6b..a07ab687d5 100644 --- a/src/NzbDrone.Api/Extensions/RequestExtensions.cs +++ b/src/NzbDrone.Api/Extensions/RequestExtensions.cs @@ -10,6 +10,11 @@ public static bool IsApiRequest(this Request request) return request.Path.StartsWith("/api/", StringComparison.InvariantCultureIgnoreCase); } + public static bool IsFeedRequest(this Request request) + { + return request.Path.StartsWith("/feed/", StringComparison.InvariantCultureIgnoreCase); + } + public static bool IsSignalRRequest(this Request request) { return request.Path.StartsWith("/signalr/", StringComparison.InvariantCultureIgnoreCase);