Interface: UserJwtPayload
Interface: UserJwtPayload
Defined in: auth-shared/src/jwt/claims.ts:44
Human-user access token. Issued by /auth/login, /auth/refresh,
/auth/sso/exchange, /auth/sso/callback (non-PKCE), etc.
Discriminated by token_type: 'access'. Service tokens (the M2M flow)
share the same TokenClaims struct on the Go side but set token_type: 'service' and populate client_id/service_name/scopes instead — see
ServiceJwtPayload.
Extends
Properties
app_code?
optionalapp_code?:string
Defined in: auth-shared/src/jwt/claims.ts:76
app_id?
optionalapp_id?:string
Defined in: auth-shared/src/jwt/claims.ts:75
App scoping (AUDIT 8.3). Downstream services validate
claims.app_code === self.app_code so a token minted for app A can
never be accepted by app B. Both are absent when
AUTH_ALLOW_BASE_USER_LOGIN is set and login carried no app_code.
aud?
optionalaud?:string|string[]
Defined in: auth-shared/src/jwt/claims.ts:20
Inherited from
auth_provider?
optionalauth_provider?:string
Defined in: auth-shared/src/jwt/claims.ts:64
display_name?
optionaldisplay_name?:string
Defined in: auth-shared/src/jwt/claims.ts:52
email:
string
Defined in: auth-shared/src/jwt/claims.ts:49
exp?
optionalexp?:number
Defined in: auth-shared/src/jwt/claims.ts:21
Inherited from
first_name?
optionalfirst_name?:string
Defined in: auth-shared/src/jwt/claims.ts:50
iat?
optionaliat?:number
Defined in: auth-shared/src/jwt/claims.ts:22
Inherited from
imp_email?
optionalimp_email?:string
Defined in: auth-shared/src/jwt/claims.ts:32
Inherited from
imp_uid?
optionalimp_uid?:string
Defined in: auth-shared/src/jwt/claims.ts:31
Inherited from
iss?
optionaliss?:string
Defined in: auth-shared/src/jwt/claims.ts:19
Inherited from
jti?
optionaljti?:string
Defined in: auth-shared/src/jwt/claims.ts:24
Inherited from
last_name?
optionallast_name?:string
Defined in: auth-shared/src/jwt/claims.ts:51
nbf?
optionalnbf?:number
Defined in: auth-shared/src/jwt/claims.ts:23
Inherited from
org_id?
optionalorg_id?:string
Defined in: auth-shared/src/jwt/claims.ts:55
Organization context. Nil when the user logged in without org scoping.
org_name?
optionalorg_name?:string
Defined in: auth-shared/src/jwt/claims.ts:57
org_slug?
optionalorg_slug?:string
Defined in: auth-shared/src/jwt/claims.ts:56
permissions
permissions:
string[]
Defined in: auth-shared/src/jwt/claims.ts:60
remember_me?
optionalremember_me?:boolean
Defined in: auth-shared/src/jwt/claims.ts:63
roles
roles:
string[]
Defined in: auth-shared/src/jwt/claims.ts:59
session_id?
optionalsession_id?:string
Defined in: auth-shared/src/jwt/claims.ts:62
sub?
optionalsub?:string
Defined in: auth-shared/src/jwt/claims.ts:18
Inherited from
token_type
token_type:
"access"
Defined in: auth-shared/src/jwt/claims.ts:45
tv?
optionaltv?:number
Defined in: auth-shared/src/jwt/claims.ts:69
Per-user token-version counter captured at issue time (AUDIT 1.10 /
3.4). The server bumps this on logout-all / role-change; validators
reject tokens whose tv is below the current per-user value.
uid
uid:
string
Defined in: auth-shared/src/jwt/claims.ts:48
User id. Matches uid on the wire (Go UserID claim).