Skip to content

Commit

Permalink
Fixed: Don't set cookies for static resources
Browse files Browse the repository at this point in the history
(cherry picked from commit 6619350)
  • Loading branch information
markus101 authored and Qstick committed Mar 9, 2021
1 parent 578ce25 commit e8972f2
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/Radarr.Http/Authentication/AuthenticationService.cs
Expand Up @@ -5,6 +5,7 @@
using Nancy;
using Nancy.Authentication.Basic;
using Nancy.Authentication.Forms;
using Nancy.Routing.Trie.Nodes;
using NLog;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Authentication;
Expand Down Expand Up @@ -160,6 +161,11 @@ public bool IsAuthenticated(NancyContext context)
return true;
}

if (context.Request.IsBundledJsRequest())
{
return true;
}

if (ValidUser(context))
{
return true;
Expand Down
30 changes: 30 additions & 0 deletions src/Radarr.Http/Extensions/Pipelines/SetCookieHeaderPipeline.cs
@@ -0,0 +1,30 @@
using System;
using System.Linq;
using Nancy;
using Nancy.Bootstrapper;

namespace Radarr.Http.Extensions.Pipelines
{
public class SetCookieHeaderPipeline : IRegisterNancyPipeline
{
public int Order => 99;

public void Register(IPipelines pipelines)
{
pipelines.AfterRequest.AddItemToEndOfPipeline((Action<NancyContext>)Handle);
}

private void Handle(NancyContext context)
{
if (context.Request.IsContentRequest() || context.Request.IsBundledJsRequest())
{
var authCookie = context.Response.Cookies.FirstOrDefault(c => c.Name == "RadarrAuth");

if (authCookie != null)
{
context.Response.Cookies.Remove(authCookie);
}
}
}
}
}
5 changes: 5 additions & 0 deletions src/Radarr.Http/Extensions/RequestExtensions.cs
Expand Up @@ -40,6 +40,11 @@ public static bool IsContentRequest(this Request request)
return request.Path.StartsWith("/Content/", StringComparison.InvariantCultureIgnoreCase);
}

public static bool IsBundledJsRequest(this Request request)
{
return !request.Path.EqualsIgnoreCase("/initialize.js") && request.Path.EndsWith(".js", StringComparison.InvariantCultureIgnoreCase);
}

public static bool IsSharedContentRequest(this Request request)
{
return request.Path.StartsWith("/MediaCover/", StringComparison.InvariantCultureIgnoreCase) ||
Expand Down

0 comments on commit e8972f2

Please sign in to comment.