aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/HttpServer/Security/AuthorizationContext.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/HttpServer/Security/AuthorizationContext.cs')
-rw-r--r--MediaBrowser.Server.Implementations/HttpServer/Security/AuthorizationContext.cs41
1 files changed, 41 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/HttpServer/Security/AuthorizationContext.cs b/MediaBrowser.Server.Implementations/HttpServer/Security/AuthorizationContext.cs
index 925eb6a86..3cc703bbf 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/Security/AuthorizationContext.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/Security/AuthorizationContext.cs
@@ -43,6 +43,47 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
token = httpReq.QueryString["api_key"];
}
+ // Hack until iOS is updated
+ // TODO: Remove
+ if (string.IsNullOrWhiteSpace(client))
+ {
+ var userAgent = httpReq.Headers["User-Agent"] ?? string.Empty;
+
+ if (userAgent.IndexOf("mediabrowserios", StringComparison.OrdinalIgnoreCase) != -1 ||
+ userAgent.IndexOf("iphone", StringComparison.OrdinalIgnoreCase) != -1 ||
+ userAgent.IndexOf("ipad", StringComparison.OrdinalIgnoreCase) != -1)
+ {
+ client = "iOS";
+ }
+
+ else if (userAgent.IndexOf("crKey", StringComparison.OrdinalIgnoreCase) != -1)
+ {
+ client = "Chromecast";
+ }
+ }
+
+ // Hack until iOS is updated
+ // TODO: Remove
+ if (string.IsNullOrWhiteSpace(device))
+ {
+ var userAgent = httpReq.Headers["User-Agent"] ?? string.Empty;
+
+ if (userAgent.IndexOf("iPhone", StringComparison.OrdinalIgnoreCase) != -1)
+ {
+ device = "iPhone";
+ }
+
+ else if (userAgent.IndexOf("iPad", StringComparison.OrdinalIgnoreCase) != -1)
+ {
+ device = "iPad";
+ }
+
+ else if (userAgent.IndexOf("crKey", StringComparison.OrdinalIgnoreCase) != -1)
+ {
+ device = "Chromecast";
+ }
+ }
+
return new AuthorizationInfo
{
Client = client,