Skip to main content

StandardClaim

Struct StandardClaim 

Source
pub struct StandardClaim;
Expand description

Standard JWT claim names as defined in RFC 7519 and OIDC specifications.

This struct provides constants for standard claim names used in JWT tokens. Using these constants instead of string literals helps prevent typos and provides a single source of truth for claim names.

§Example

use modkit_auth::StandardClaim;
use serde_json::json;

let claims = json!({
    "sub": "user-123",
    "iss": "https://auth.example.com"
});

let subject = claims.get(StandardClaim::SUB);
let issuer = claims.get(StandardClaim::ISS);

Implementations§

Source§

impl StandardClaim

Source

pub const ISS: &'static str = "iss"

Issuer claim - identifies the principal that issued the JWT.

The “iss” (issuer) claim identifies the principal that issued the JWT. The processing of this claim is generally application specific.

See: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1

Source

pub const SUB: &'static str = "sub"

Subject claim - identifies the principal that is the subject of the JWT.

The “sub” (subject) claim identifies the principal that is the subject of the JWT. The claims in a JWT are normally statements about the subject.

See: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.2

Source

pub const AUD: &'static str = "aud"

Audience claim - identifies the recipients that the JWT is intended for.

The “aud” (audience) claim identifies the recipients that the JWT is intended for. Each principal intended to process the JWT MUST identify itself with a value in the audience claim.

See: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.3

Source

pub const EXP: &'static str = "exp"

Expiration Time claim - identifies the expiration time of the JWT.

The “exp” (expiration time) claim identifies the expiration time on or after which the JWT MUST NOT be accepted for processing.

See: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4

Source

pub const NBF: &'static str = "nbf"

Not Before claim - identifies the time before which the JWT must not be accepted.

The “nbf” (not before) claim identifies the time before which the JWT MUST NOT be accepted for processing.

See: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.5

Source

pub const IAT: &'static str = "iat"

Issued At claim - identifies the time at which the JWT was issued.

The “iat” (issued at) claim identifies the time at which the JWT was issued. This claim can be used to determine the age of the JWT.

See: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6

Source

pub const JTI: &'static str = "jti"

JWT ID claim - provides a unique identifier for the JWT.

The “jti” (JWT ID) claim provides a unique identifier for the JWT. The identifier value MUST be assigned in a manner that ensures that there is a negligible probability that the same value will be accidentally assigned to a different data object.

See: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7

Source

pub const AZP: &'static str = "azp"

Authorized party claim - the party to which the ID Token was issued.

The “azp” (authorized party) claim identifies the party to which the ID Token was issued. If present, it MUST contain the OAuth 2.0 Client ID of this party.

See: https://openid.net/specs/openid-connect-core-1_0.html#IDToken

Source

pub const fn all_registered() -> &'static [&'static str]

Returns a slice containing all standard JWT claim names (RFC 7519).

This is useful for filtering out standard claims when collecting extra/custom claims from a token.

Source

pub fn is_registered(name: &str) -> bool

Checks if the given claim name is a standard registered claim.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,