This repository has been archived on 2025-08-13. You can view files and clone it, but cannot push or open issues or pull requests.
Files
KTUSA-PS/KTUSAPS/Extensions/ClaimsPrincipalExtensions.cs
Karolis2011 b367854887 A lot
2021-12-23 06:42:40 +02:00

42 lines
1.3 KiB
C#

using System.Linq;
using System.Security.Claims;
namespace KTUSAPS.Extensions
{
public static class ClaimsPrincipalExtensions
{
private static string getClaimValue(ClaimsPrincipal claimsPrincipal, string claimType)
{
return claimsPrincipal.Claims.FirstOrDefault(c => c.Type == claimType)?.Value;
}
public static string GetUserId(this ClaimsPrincipal claimsPrincipal)
{
if (claimsPrincipal == null)
return null;
return getClaimValue(claimsPrincipal, ClaimTypes.NameIdentifier);
}
public static string GetName(this ClaimsPrincipal claimsPrincipal)
{
if (claimsPrincipal == null)
return null;
return getClaimValue(claimsPrincipal, "name");
}
public static string GetEmail(this ClaimsPrincipal claimsPrincipal)
{
if (claimsPrincipal == null)
return null;
return getClaimValue(claimsPrincipal, ClaimTypes.Email);
}
public static string GetObjectId(this ClaimsPrincipal claimsPrincipal)
{
if (claimsPrincipal == null)
return null;
return getClaimValue(claimsPrincipal, "http://schemas.microsoft.com/identity/claims/objectidentifier");
}
}
}