Struct EmailOAuth2Config
pub struct EmailOAuth2Config {
pub client_id: String,
pub token_url: String,
pub device_code_url: String,
pub scopes: Vec<String>,
}Expand description
OAuth2 settings for IMAP email authentication (XOAUTH2 / RFC 8628). Populate these to use OAuth2 bearer tokens instead of plain-password LOGIN. All major providers (Microsoft, Google) support this flow via device code.
Fields§
§client_id: StringOAuth2 application client ID (public client; no secret required for device flow).
token_url: StringToken endpoint for refresh and device-code polling
(e.g. https://login.microsoftonline.com/consumers/oauth2/v2.0/token).
device_code_url: StringDevice-code initiation endpoint
(e.g. https://login.microsoftonline.com/consumers/oauth2/v2.0/devicecode).
scopes: Vec<String>OAuth2 scopes to request (must include offline_access for refresh tokens).
Trait Implementations§
Source§impl Clone for EmailOAuth2Config
impl Clone for EmailOAuth2Config
Source§fn clone(&self) -> EmailOAuth2Config
fn clone(&self) -> EmailOAuth2Config
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · §fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EmailOAuth2Config
impl Debug for EmailOAuth2Config
Source§impl Default for EmailOAuth2Config
impl Default for EmailOAuth2Config
Source§fn default() -> EmailOAuth2Config
fn default() -> EmailOAuth2Config
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for EmailOAuth2Config
impl<'de> Deserialize<'de> for EmailOAuth2Config
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
Source§impl HasPropKind for EmailOAuth2Config
impl HasPropKind for EmailOAuth2Config
const PROP_KIND: PropKind = PropKind::Object
const ALIAS_SOURCE: Option<AliasSource> = None
Source§fn display_secret_terminals() -> Vec<&'static str>
fn display_secret_terminals() -> Vec<&'static str>
Terminal field names whose values must be redacted when this type is
displayed as an object/object-array prop. Most prop kinds have no
nested secret surface; Configurable object-array element types can
override this by delegating to their generated
secret_field_terminals.Source§impl JsonSchema for EmailOAuth2Config
impl JsonSchema for EmailOAuth2Config
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for EmailOAuth2Config
impl RefUnwindSafe for EmailOAuth2Config
impl Send for EmailOAuth2Config
impl Sync for EmailOAuth2Config
impl Unpin for EmailOAuth2Config
impl UnsafeUnpin for EmailOAuth2Config
impl UnwindSafe for EmailOAuth2Config
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> 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