pub struct SessionClaims {Show 19 fields
pub iss: String,
pub sub: String,
pub aud: String,
pub iat: u64,
pub nbf: u64,
pub exp: u64,
pub jti: String,
pub scope: String,
pub metering_key: String,
pub deployment_id: Option<String>,
pub target_kind: Option<TargetKind>,
pub target_id: Option<String>,
pub program_id: Option<String>,
pub program_release_hash: Option<String>,
pub origin: Option<String>,
pub client_ip: Option<String>,
pub limits: Option<Limits>,
pub plan: Option<String>,
pub key_class: KeyClass,
}Expand description
Session token claims
Fields§
§iss: StringIssuer - who issued this token
sub: StringSubject - who this token is for
aud: StringAudience - intended recipient (e.g., deployment ID)
iat: u64Issued at (Unix timestamp)
nbf: u64Not valid before (Unix timestamp)
exp: u64Expiration time (Unix timestamp)
jti: StringJWT ID - unique identifier for this token
scope: StringScope - permissions granted
metering_key: StringMetering key - for usage attribution
deployment_id: Option<String>Deployment ID (optional)
target_kind: Option<TargetKind>Typed resource target (optional for legacy deployment tokens)
target_id: Option<String>Public target identifier (optional for legacy deployment tokens)
program_id: Option<String>Program allowed by this token
program_release_hash: Option<String>Exact immutable program release allowed by this token
origin: Option<String>Origin binding (optional, defense-in-depth)
client_ip: Option<String>Client IP binding (optional, for high-security scenarios)
limits: Option<Limits>Resource limits
plan: Option<String>Plan identifier (optional)
key_class: KeyClassKey class (secret vs publishable)
Implementations§
Source§impl SessionClaims
impl SessionClaims
Sourcepub fn builder(
iss: impl Into<String>,
sub: impl Into<String>,
aud: impl Into<String>,
) -> SessionClaimsBuilder
pub fn builder( iss: impl Into<String>, sub: impl Into<String>, aud: impl Into<String>, ) -> SessionClaimsBuilder
Create a new session claims builder
Sourcepub fn program_read_builder(
iss: impl Into<String>,
sub: impl Into<String>,
target_id: impl Into<String>,
program_id: impl Into<String>,
program_release_hash: impl Into<String>,
) -> SessionClaimsBuilder
pub fn program_read_builder( iss: impl Into<String>, sub: impl Into<String>, target_id: impl Into<String>, program_id: impl Into<String>, program_release_hash: impl Into<String>, ) -> SessionClaimsBuilder
Create claims for one exact program-read binding, program, and release.
Sourcepub fn solana_gateway_builder(
iss: impl Into<String>,
sub: impl Into<String>,
target_id: impl Into<String>,
) -> SessionClaimsBuilder
pub fn solana_gateway_builder( iss: impl Into<String>, sub: impl Into<String>, target_id: impl Into<String>, ) -> SessionClaimsBuilder
Create claims for one regional Solana gateway binding.
Sourcepub fn is_expired(&self, now: u64) -> bool
pub fn is_expired(&self, now: u64) -> bool
Check if the token is expired
Trait Implementations§
Source§impl Clone for SessionClaims
impl Clone for SessionClaims
Source§fn clone(&self) -> SessionClaims
fn clone(&self) -> SessionClaims
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more