pub struct Token {
pub access_token: String,
pub refresh_token: Option<String>,
pub token_type: String,
pub expires_at: DateTime<Utc>,
pub refresh_expires_at: Option<DateTime<Utc>>,
}Expand description
OAuth2 token with expiration tracking.
Access tokens expire after ~20 minutes. The client automatically refreshes them using the refresh token when available.
Fields§
§access_token: StringThe bearer access token.
refresh_token: Option<String>Refresh token for obtaining new access tokens.
token_type: StringToken type (typically “Bearer”).
expires_at: DateTime<Utc>When the access token expires.
refresh_expires_at: Option<DateTime<Utc>>When the refresh token expires (~30 days from issue).
Implementations§
Source§impl Token
impl Token
Sourcepub fn is_expired(&self) -> bool
pub fn is_expired(&self) -> bool
Check if the access token is expired (with 2-minute safety buffer).
Sourcepub fn refresh_expired(&self) -> bool
pub fn refresh_expired(&self) -> bool
Check if the refresh token is expired.
Sourcepub fn can_refresh(&self) -> bool
pub fn can_refresh(&self) -> bool
Whether this token can be refreshed (has a refresh token that is not expired).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Token
impl<'de> Deserialize<'de> for Token
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Token
impl RefUnwindSafe for Token
impl Send for Token
impl Sync for Token
impl Unpin for Token
impl UnsafeUnpin for Token
impl UnwindSafe for Token
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