Class ClaimsPrincipalExtensions
Extension methods for reading portal-specific values from System.Security.Claims.ClaimsPrincipal.
public static class ClaimsPrincipalExtensions
- Inheritance
-
objectClaimsPrincipalExtensions
Methods
GetUserEmail(ClaimsPrincipal)
Extracts the user's email address from the JWT claims. Checks the long-form
System.Security.Claims.ClaimTypes.Email first (written by JwtTokenService) then the
short-form email. Returns null when absent — OIDC users whose IdP didn't
include an email claim legitimately have no email.
public static string? GetUserEmail(this ClaimsPrincipal principal)
Parameters
principalClaimsPrincipal
Returns
- string
GetUserId(ClaimsPrincipal)
Extracts the portal's internal user ID from the authenticated JWT's sub claim.
Returns null when the claim is absent or does not parse to a Guid (e.g. an
unauthenticated principal, a malformed token, or a legacy int-valued sub from
before the UUID migration — those are treated as invalid and require re-authentication).
public static Guid? GetUserId(this ClaimsPrincipal principal)
Parameters
principalClaimsPrincipal
Returns
- Guid?
GetUserPhone(ClaimsPrincipal)
Extracts the user's phone number from the JWT claims. Checks phone first
(OTP-flow users) then phone_number (OIDC IdP passthrough). Returns null
when absent.
public static string? GetUserPhone(this ClaimsPrincipal principal)
Parameters
principalClaimsPrincipal
Returns
- string