pub struct AuthenticatedUser {
pub user_id: Uuid,
pub email: String,
pub role: String,
pub organization_id: Option<Uuid>,
}Expand description
Authenticated user claims extracted from JWT token
This struct automatically extracts and validates JWT tokens from the Authorization header. Use it as a parameter in your handler functions to require authentication:
async fn protected_handler(claims: AuthenticatedUser) -> impl Responder {
// claims.user_id and claims.organization_id are now available
}Fields§
§user_id: Uuid§email: String§role: String§organization_id: Option<Uuid>Implementations§
Source§impl AuthenticatedUser
impl AuthenticatedUser
Sourcepub fn require_organization(&self) -> Result<Uuid, Error>
pub fn require_organization(&self) -> Result<Uuid, Error>
Get the organization_id or return an error if not present
Trait Implementations§
Source§impl Clone for AuthenticatedUser
impl Clone for AuthenticatedUser
Source§fn clone(&self) -> AuthenticatedUser
fn clone(&self) -> AuthenticatedUser
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AuthenticatedUser
impl Debug for AuthenticatedUser
Source§impl FromRequest for AuthenticatedUser
impl FromRequest for AuthenticatedUser
Source§type Future = Ready<Result<AuthenticatedUser, <AuthenticatedUser as FromRequest>::Error>>
type Future = Ready<Result<AuthenticatedUser, <AuthenticatedUser as FromRequest>::Error>>
Future that resolves to a
Self. Read moreSource§fn from_request(req: &HttpRequest, _payload: &mut Payload) -> Self::Future
fn from_request(req: &HttpRequest, _payload: &mut Payload) -> Self::Future
Create a
Self from request parts asynchronously.Auto Trait Implementations§
impl Freeze for AuthenticatedUser
impl RefUnwindSafe for AuthenticatedUser
impl Send for AuthenticatedUser
impl Sync for AuthenticatedUser
impl Unpin for AuthenticatedUser
impl UnwindSafe for AuthenticatedUser
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Fake for T
impl<T> Fake for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more