Table of Contents

Class ClaimsExtensionsStandard

Namespace
Tharga.Toolkit
Assembly
Tharga.Toolkit.Standard.dll
public static class ClaimsExtensionsStandard
Inheritance
ClaimsExtensionsStandard
Inherited Members

Fields

KeyClaimTypes

public static readonly string[] KeyClaimTypes

Field Value

string[]

Methods

AddRoleForDomain(ClaimsPrincipal, string, params string[])

Add role on the user claim if the users email matches one of the provided list of domains.

public static void AddRoleForDomain(this ClaimsPrincipal claimsPrincipal, string role, params string[] domains)

Parameters

claimsPrincipal ClaimsPrincipal
role string
domains string[]

Exceptions

ArgumentNullException

GetDisplayName(IEnumerable<Claim>)

Extracts a human-readable display name from a collection of claims. Resolution priority:

  1. "name" (OIDC standard)
  2. ClaimTypes.Name (WS-Fed / ASP.NET Identity)
  3. "nickname" (OIDC, used by Auth0)
  4. "given_name" + "family_name" (OIDC name parts)
  5. ClaimTypes.GivenName + ClaimTypes.Surname (WS-Fed name parts)
  6. "preferred_username" (only if it does not look like an email address)
  7. Email prefix from GetEmail(IEnumerable<Claim>), with separators replaced by spaces and title-cased.
public static string GetDisplayName(this IEnumerable<Claim> claims)

Parameters

claims IEnumerable<Claim>

The claims to extract the display name from.

Returns

string

The display name, or null if no name or email is available.

GetDisplayName(ClaimsIdentity)

Extracts a human-readable display name from the claims identity using standard claim type priorities.

public static string GetDisplayName(this ClaimsIdentity claimsIdentity)

Parameters

claimsIdentity ClaimsIdentity

The claims identity to extract the display name from.

Returns

string

The display name, or null if no name or email is available.

GetDisplayName(ClaimsPrincipal)

Extracts a human-readable display name from the claims principal using standard claim type priorities.

public static string GetDisplayName(this ClaimsPrincipal claimsPrincipal)

Parameters

claimsPrincipal ClaimsPrincipal

The claims principal to extract the display name from.

Returns

string

The display name, or null if no name or email is available.

GetEmail(IEnumerable<Claim>)

public static string GetEmail(this IEnumerable<Claim> claims)

Parameters

claims IEnumerable<Claim>

Returns

string

GetEmail(ClaimsIdentity)

public static string GetEmail(this ClaimsIdentity claimsIdentity)

Parameters

claimsIdentity ClaimsIdentity

Returns

string

GetEmail(ClaimsPrincipal)

public static string GetEmail(this ClaimsPrincipal claimsPrincipal)

Parameters

claimsPrincipal ClaimsPrincipal

Returns

string

GetEmailDomain(IEnumerable<Claim>)

public static string GetEmailDomain(this IEnumerable<Claim> claims)

Parameters

claims IEnumerable<Claim>

Returns

string

GetEmailDomain(ClaimsIdentity)

public static string GetEmailDomain(this ClaimsIdentity claimsIdentity)

Parameters

claimsIdentity ClaimsIdentity

Returns

string

GetEmailDomain(ClaimsPrincipal)

public static string GetEmailDomain(this ClaimsPrincipal claimsPrincipal)

Parameters

claimsPrincipal ClaimsPrincipal

Returns

string

GetIdentities(IEnumerable<Claim>)

public static IEnumerable<(string Identity, string Type)> GetIdentities(this IEnumerable<Claim> claims)

Parameters

claims IEnumerable<Claim>

Returns

IEnumerable<(string Identity, string Type)>

GetIdentity(IEnumerable<Claim>)

public static (string Identity, string Type) GetIdentity(this IEnumerable<Claim> claims)

Parameters

claims IEnumerable<Claim>

Returns

(string Identity, string Type)

GetIdentity(ClaimsIdentity)

public static (string Identity, string Type) GetIdentity(this ClaimsIdentity claimsIdentity)

Parameters

claimsIdentity ClaimsIdentity

Returns

(string Identity, string Type)

GetIdentity(ClaimsPrincipal)

public static (string Identity, string Type) GetIdentity(this ClaimsPrincipal claimsPrincipal)

Parameters

claimsPrincipal ClaimsPrincipal

Returns

(string Identity, string Type)