Reference

CognitoDefaults

Package Trax.Api.Auth.Jwt.CognitoNamespace Trax.Api.Auth.Jwt.CognitoSource CognitoDefaults.cs

NO WARRANTY. Trax auth is plumbing, not a security product. You are solely responsible for securing systems that use it. See API Security.

The claim names and values of Amazon Cognito user pool tokens, as UseCognito, CognitoJwtPrincipalResolver and CognitoTokenIssuer use them.

Signature

public static class CognitoDefaults
{
    public const string PrincipalType = "cognito";
    public const string TokenUseId = "id";
    public const string TokenUseAccess = "access";
    public const string CognitoUsername = "cognito:username";
    public const string CognitoGroups = "cognito:groups";
    public const string Identities = "identities";
    public const string IdentityProvider = "identity_provider";
    public const string TokenUse = "token_use";
    public const string ClientId = "client_id";
    public const string EmailVerified = "email_verified";
    public const string Email = "email";
}

Members

ConstantValueDescription
PrincipalTypecognitoThe trax:principal-type claim CognitoJwtPrincipalResolver writes, and its identity_provider for a native user.
TokenUsetoken_useThe claim that says which token shape this is.
TokenUseIdidtoken_use on an ID token.
TokenUseAccessaccesstoken_use on an access token.
ClientIdclient_idThe claim an access token carries the app client id in.
CognitoUsernamecognito:usernameThe Cognito username, on ID tokens.
CognitoGroupscognito:groupsOne claim per group the user is in.
IdentitiesidentitiesThe JSON array of federated identities.
IdentityProvideridentity_providerNot a Cognito claim: the claim CognitoJwtPrincipalResolver adds, naming the federated provider or cognito.
EmailemailThe user's email.
EmailVerifiedemail_verifiedWhether the email is verified.

Example

app.MapGet("/provider", (ClaimsPrincipal user) =>
    user.FindFirst(CognitoDefaults.IdentityProvider)?.Value ?? CognitoDefaults.PrincipalType);

See also