aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Api/Helpers/ClaimHelpers.cs
diff options
context:
space:
mode:
authorNegulici-R. Barnabas <109497789+negulici-r-barnabas@users.noreply.github.com>2022-11-13 15:29:16 +0200
committerGitHub <noreply@github.com>2022-11-13 15:29:16 +0200
commitb7aa5ed862db11bbbc0a4ea5c92a67b772bfc35d (patch)
treed8f396f581f3bdbd4be4c34d4a949df9fff72934 /Jellyfin.Api/Helpers/ClaimHelpers.cs
parent1e41636e30b82518633ac6979564ff98bb40aca9 (diff)
parent6655cf4e58285f51b612efb0bb6229f036da2591 (diff)
Merge branch 'jellyfin:master' into master
Diffstat (limited to 'Jellyfin.Api/Helpers/ClaimHelpers.cs')
-rw-r--r--Jellyfin.Api/Helpers/ClaimHelpers.cs88
1 files changed, 0 insertions, 88 deletions
diff --git a/Jellyfin.Api/Helpers/ClaimHelpers.cs b/Jellyfin.Api/Helpers/ClaimHelpers.cs
deleted file mode 100644
index c1c2f93b4..000000000
--- a/Jellyfin.Api/Helpers/ClaimHelpers.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-using System;
-using System.Linq;
-using System.Security.Claims;
-using Jellyfin.Api.Constants;
-
-namespace Jellyfin.Api.Helpers
-{
- /// <summary>
- /// Claim Helpers.
- /// </summary>
- public static class ClaimHelpers
- {
- /// <summary>
- /// Get user id from claims.
- /// </summary>
- /// <param name="user">Current claims principal.</param>
- /// <returns>User id.</returns>
- public static Guid? GetUserId(in ClaimsPrincipal user)
- {
- var value = GetClaimValue(user, InternalClaimTypes.UserId);
- return string.IsNullOrEmpty(value)
- ? null
- : Guid.Parse(value);
- }
-
- /// <summary>
- /// Get device id from claims.
- /// </summary>
- /// <param name="user">Current claims principal.</param>
- /// <returns>Device id.</returns>
- public static string? GetDeviceId(in ClaimsPrincipal user)
- => GetClaimValue(user, InternalClaimTypes.DeviceId);
-
- /// <summary>
- /// Get device from claims.
- /// </summary>
- /// <param name="user">Current claims principal.</param>
- /// <returns>Device.</returns>
- public static string? GetDevice(in ClaimsPrincipal user)
- => GetClaimValue(user, InternalClaimTypes.Device);
-
- /// <summary>
- /// Get client from claims.
- /// </summary>
- /// <param name="user">Current claims principal.</param>
- /// <returns>Client.</returns>
- public static string? GetClient(in ClaimsPrincipal user)
- => GetClaimValue(user, InternalClaimTypes.Client);
-
- /// <summary>
- /// Get version from claims.
- /// </summary>
- /// <param name="user">Current claims principal.</param>
- /// <returns>Version.</returns>
- public static string? GetVersion(in ClaimsPrincipal user)
- => GetClaimValue(user, InternalClaimTypes.Version);
-
- /// <summary>
- /// Get token from claims.
- /// </summary>
- /// <param name="user">Current claims principal.</param>
- /// <returns>Token.</returns>
- public static string? GetToken(in ClaimsPrincipal user)
- => GetClaimValue(user, InternalClaimTypes.Token);
-
- /// <summary>
- /// Gets a flag specifying whether the request is using an api key.
- /// </summary>
- /// <param name="user">Current claims principal.</param>
- /// <returns>The flag specifying whether the request is using an api key.</returns>
- public static bool GetIsApiKey(in ClaimsPrincipal user)
- {
- var claimValue = GetClaimValue(user, InternalClaimTypes.IsApiKey);
- return !string.IsNullOrEmpty(claimValue)
- && bool.TryParse(claimValue, out var parsedClaimValue)
- && parsedClaimValue;
- }
-
- private static string? GetClaimValue(in ClaimsPrincipal user, string name)
- {
- return user?.Identities
- .SelectMany(c => c.Claims)
- .Where(claim => claim.Type.Equals(name, StringComparison.OrdinalIgnoreCase))
- .Select(claim => claim.Value)
- .FirstOrDefault();
- }
- }
-}