pub struct OAuthState {
pub id: i64,
pub provider_id: String,
pub csrf_state: String,
pub pkce_verifier: String,
pub intent: OAuthIntent,
pub link_user_id: Option<i64>,
pub expires_at: OffsetDateTime,
pub created_at: OffsetDateTime,
}Expand description
Transient OAuth state record for CSRF protection and PKCE verification.
Fields§
§id: i64Unique OAuth state ID.
provider_id: StringOAuth provider identifier (e.g., “google”, “github”).
csrf_state: StringCSRF state token used to correlate login and callback requests.
pkce_verifier: StringPKCE verifier for the OAuth code exchange.
intent: OAuthIntentWhether this flow is a login or an explicit account link.
link_user_id: Option<i64>When intent is Link, the authenticated user’s ID to link the account to.
expires_at: OffsetDateTimeTimestamp when this state expires.
created_at: OffsetDateTimeTimestamp when this state was created.
Trait Implementations§
Source§impl Clone for OAuthState
impl Clone for OAuthState
Source§fn clone(&self) -> OAuthState
fn clone(&self) -> OAuthState
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 OAuthState
impl Debug for OAuthState
Source§impl<'de> Deserialize<'de> for OAuthState
impl<'de> Deserialize<'de> for OAuthState
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<OAuthState, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<OAuthState, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for OAuthState
impl Serialize for OAuthState
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for OAuthState
impl RefUnwindSafe for OAuthState
impl Send for OAuthState
impl Sync for OAuthState
impl Unpin for OAuthState
impl UnsafeUnpin for OAuthState
impl UnwindSafe for OAuthState
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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