|
|
|
@ -4,6 +4,7 @@ using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Net;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using MediaBrowser.Controller;
|
|
|
|
|
using MediaBrowser.Controller.Library;
|
|
|
|
|
using MediaBrowser.Controller.Net;
|
|
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
@ -16,11 +17,16 @@ namespace Jellyfin.Server.Implementations.Security
|
|
|
|
|
{
|
|
|
|
|
private readonly JellyfinDbProvider _jellyfinDbProvider;
|
|
|
|
|
private readonly IUserManager _userManager;
|
|
|
|
|
private readonly IServerApplicationHost _serverApplicationHost;
|
|
|
|
|
|
|
|
|
|
public AuthorizationContext(JellyfinDbProvider jellyfinDb, IUserManager userManager)
|
|
|
|
|
public AuthorizationContext(
|
|
|
|
|
JellyfinDbProvider jellyfinDb,
|
|
|
|
|
IUserManager userManager,
|
|
|
|
|
IServerApplicationHost serverApplicationHost)
|
|
|
|
|
{
|
|
|
|
|
_jellyfinDbProvider = jellyfinDb;
|
|
|
|
|
_userManager = userManager;
|
|
|
|
|
_serverApplicationHost = serverApplicationHost;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Task<AuthorizationInfo> GetAuthorizationInfo(HttpContext requestContext)
|
|
|
|
@ -187,17 +193,17 @@ namespace Jellyfin.Server.Implementations.Security
|
|
|
|
|
authInfo.Token = key.AccessToken;
|
|
|
|
|
if (string.IsNullOrWhiteSpace(authInfo.DeviceId))
|
|
|
|
|
{
|
|
|
|
|
authInfo.DeviceId = string.Empty;
|
|
|
|
|
authInfo.DeviceId = _serverApplicationHost.SystemId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (string.IsNullOrWhiteSpace(authInfo.Device))
|
|
|
|
|
{
|
|
|
|
|
authInfo.Device = string.Empty;
|
|
|
|
|
authInfo.Device = _serverApplicationHost.Name;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (string.IsNullOrWhiteSpace(authInfo.Version))
|
|
|
|
|
{
|
|
|
|
|
authInfo.Version = string.Empty;
|
|
|
|
|
authInfo.Version = _serverApplicationHost.ApplicationVersionString;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
authInfo.IsApiKey = true;
|
|
|
|
|