|
@@ -49,6 +49,7 @@ namespace Emby.Server.Implementations.HttpServer.Security
|
|
|
string device = null;
|
|
|
string client = null;
|
|
|
string version = null;
|
|
|
+ string token = null;
|
|
|
|
|
|
if (auth != null)
|
|
|
{
|
|
@@ -56,9 +57,13 @@ namespace Emby.Server.Implementations.HttpServer.Security
|
|
|
auth.TryGetValue("Device", out device);
|
|
|
auth.TryGetValue("Client", out client);
|
|
|
auth.TryGetValue("Version", out version);
|
|
|
+ auth.TryGetValue("Token", out token);
|
|
|
}
|
|
|
|
|
|
- var token = httpReq.Headers["X-Emby-Token"];
|
|
|
+ if (string.IsNullOrWhiteSpace(token))
|
|
|
+ {
|
|
|
+ token = httpReq.Headers["X-Emby-Token"];
|
|
|
+ }
|
|
|
|
|
|
if (string.IsNullOrWhiteSpace(token))
|
|
|
{
|
|
@@ -156,8 +161,10 @@ namespace Emby.Server.Implementations.HttpServer.Security
|
|
|
// There should be at least to parts
|
|
|
if (parts.Length != 2) return null;
|
|
|
|
|
|
+ var acceptedNames = new[] { "MediaBrowser", "Emby"};
|
|
|
+
|
|
|
// It has to be a digest request
|
|
|
- if (!string.Equals(parts[0], "MediaBrowser", StringComparison.OrdinalIgnoreCase))
|
|
|
+ if (!acceptedNames.Contains(parts[0] ?? string.Empty, StringComparer.OrdinalIgnoreCase))
|
|
|
{
|
|
|
return null;
|
|
|
}
|
|
@@ -174,7 +181,7 @@ namespace Emby.Server.Implementations.HttpServer.Security
|
|
|
|
|
|
if (param.Length == 2)
|
|
|
{
|
|
|
- var value = NormalizeValue (param[1].Trim(new[] { '"' }));
|
|
|
+ var value = NormalizeValue(param[1].Trim(new[] { '"' }));
|
|
|
result.Add(param[0], value);
|
|
|
}
|
|
|
}
|
|
@@ -182,14 +189,14 @@ namespace Emby.Server.Implementations.HttpServer.Security
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- private string NormalizeValue(string value)
|
|
|
- {
|
|
|
- if (string.IsNullOrWhiteSpace (value))
|
|
|
- {
|
|
|
- return value;
|
|
|
- }
|
|
|
+ private string NormalizeValue(string value)
|
|
|
+ {
|
|
|
+ if (string.IsNullOrWhiteSpace(value))
|
|
|
+ {
|
|
|
+ return value;
|
|
|
+ }
|
|
|
|
|
|
- return System.Net.WebUtility.HtmlEncode(value);
|
|
|
- }
|
|
|
+ return System.Net.WebUtility.HtmlEncode(value);
|
|
|
+ }
|
|
|
}
|
|
|
}
|