c41e5063b7
Removed entire kbx-foundation-v36 directory as it's been replaced by the new KBX Foundation v4 patterns implemented in this session: - Registry-driven screen definitions - Density-aware UI adapter components - Feature module templates (ShadowRun, Models) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
12 lines
450 B
C#
12 lines
450 B
C#
using System.Security.Claims;
|
|
|
|
namespace Kbx.Shared.Runtime;
|
|
|
|
public static class RuntimeIdentity
|
|
{
|
|
public static Guid TenantId(ClaimsPrincipal user) => Parse(user.FindFirst("tenant_id")?.Value ?? user.FindFirst("tenant")?.Value);
|
|
public static Guid UserId(ClaimsPrincipal user) => Parse(user.FindFirst(ClaimTypes.NameIdentifier)?.Value);
|
|
|
|
private static Guid Parse(string? value) => Guid.TryParse(value, out var id) ? id : Guid.Empty;
|
|
}
|