Added UserId to claims

This commit is contained in:
Carl Tibule
2023-01-25 23:41:17 -06:00
parent 406bd9a0d1
commit afab148337
5 changed files with 63 additions and 10 deletions

View File

@ -1,6 +1,4 @@
using Microsoft.AspNetCore.Mvc;
using System.Security.Claims;
using YABA.Common.Extensions;
using YABA.Common.Lookups;
namespace YABA.API.Extensions
@ -9,21 +7,15 @@ namespace YABA.API.Extensions
{
public static string GetAuthProviderId(this ControllerBase controller)
{
return GetCustomClaim(controller, ClaimsLookup.AuthProviderId);
return controller.User.Identity.GetCustomClaim(ClaimsLookup.AuthProviderId);
}
public static int GetUserId(this ControllerBase controller)
{
var isValidUserId = int.TryParse(GetCustomClaim(controller, ClaimsLookup.UserId), out int userId);
var isValidUserId = int.TryParse(controller.User.Identity.GetCustomClaim(ClaimsLookup.UserId), out int userId);
return isValidUserId ? userId : 0;
}
public static string GetCustomClaim(this ControllerBase controller, ClaimsLookup claim)
{
var claimsIdentity = controller.User.Identity as ClaimsIdentity;
return claimsIdentity.FindFirst(claim.GetClaimName())?.Value.ToString();
}
public static string GetIpAddress(this ControllerBase controller)
{
if (controller.Request.Headers.ContainsKey("X-Forwarded-For"))

View File

@ -0,0 +1,18 @@
using System.Security.Claims;
using System.Security.Principal;
using YABA.Common.Extensions;
using YABA.Common.Lookups;
namespace YABA.API.Extensions
{
public static class UserIdentityExtensions
{
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())?.Value.ToString();
}
}
}