From 8292d4d2674f6c8dfc3874ccdbed59601af92c22 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Fri, 24 Jan 2014 08:35:05 -0800 Subject: [PATCH] Fixed: API Authentication issues with Apache Basic Auth --- .../Authentication/EnableStatelessAuthInNancy.cs | 5 ++++- src/UI/Mixins/jquery.ajax.js | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Api/Authentication/EnableStatelessAuthInNancy.cs b/src/NzbDrone.Api/Authentication/EnableStatelessAuthInNancy.cs index 82ace5314..34d59ad94 100644 --- a/src/NzbDrone.Api/Authentication/EnableStatelessAuthInNancy.cs +++ b/src/NzbDrone.Api/Authentication/EnableStatelessAuthInNancy.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using Nancy; using Nancy.Bootstrapper; using NzbDrone.Api.Extensions; @@ -33,7 +34,9 @@ namespace NzbDrone.Api.Authentication return response; } - var apiKey = context.Request.Headers.Authorization; + var authorizationHeader = context.Request.Headers.Authorization; + var apiKeyHeader = context.Request.Headers["X-Api-Key"].FirstOrDefault(); + var apiKey = String.IsNullOrWhiteSpace(apiKeyHeader) ? authorizationHeader : apiKeyHeader; if (context.Request.IsApiRequest() && !ValidApiKey(apiKey) && !_authenticationService.IsAuthenticated(context)) { diff --git a/src/UI/Mixins/jquery.ajax.js b/src/UI/Mixins/jquery.ajax.js index 0fe0b047f..5105d8ae8 100644 --- a/src/UI/Mixins/jquery.ajax.js +++ b/src/UI/Mixins/jquery.ajax.js @@ -25,7 +25,7 @@ define( if (xhr) { xhr.headers = xhr.headers || {}; - xhr.headers.Authorization = window.NzbDrone.ApiKey; + xhr.headers['X-Api-Key'] = window.NzbDrone.ApiKey; } return original.apply(this, arguments);