aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Session/SessionManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Session/SessionManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Session/SessionManager.cs20
1 files changed, 20 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs
index 8eef8536a..a09f585fd 100644
--- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs
+++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs
@@ -1640,6 +1640,26 @@ namespace MediaBrowser.Server.Implementations.Session
string.Equals(i.Client, client));
}
+ public SessionInfo GetSessionByAuthenticationToken(string token)
+ {
+ var result = _authRepo.Get(new AuthenticationInfoQuery
+ {
+ AccessToken = token
+ });
+
+ if (result.Items.Length == 0)
+ {
+ return null;
+ }
+
+ var info = result.Items[0];
+
+ // TODO: Make Token part of SessionInfo and get result that way
+ // This can't be done until all apps are updated to new authentication.
+ return Sessions.FirstOrDefault(i => string.Equals(i.DeviceId, info.DeviceId) &&
+ string.Equals(i.Client, info.AppName));
+ }
+
public Task SendMessageToUserSessions<T>(string userId, string name, T data,
CancellationToken cancellationToken)
{