Files
YABA/API/YABA.Common/Extensions/UserIdentityExtensions.cs
Carl Tibule 9fae3b978f
All checks were successful
ci/woodpecker/tag/api_build Pipeline was successful
ci/woodpecker/tag/api_uploadimage Pipeline was successful
Modified ClaimNameAttribute to support multiple claim names depending on environment
Environment name will be pulled from environment variable: ASPNETCORE_ENVIRONMENT
2024-04-07 20:18:53 -05:00

21 lines
772 B
C#

using System;
using System.Security.Claims;
using System.Security.Principal;
using YABA.Common.Lookups;
using YABA.Common.Utils;
namespace YABA.Common.Extensions
{
public static class UserIdentityExtensions
{
public static string GetUserId(this IIdentity identity) => GetCustomClaim(identity, ClaimsLookup.UserId);
public static string GetAuthProviderId(this IIdentity identity) => GetCustomClaim(identity, ClaimsLookup.AuthProviderId);
public static string GetCustomClaim(this IIdentity identity, ClaimsLookup claim)
{
var claimsIdentity = identity as ClaimsIdentity;
return claimsIdentity.FindFirst(claim.GetClaimName(EnvironmentUtils.IsDevelopmentEnvironment()))?.Value.ToString();
}
}
}