#[non_exhaustive]pub struct UserProfile {
pub provider: String,
pub provider_user_id: String,
pub email: String,
pub email_verified: bool,
pub name: Option<String>,
pub avatar_url: Option<String>,
pub raw: Value,
}Expand description
Normalized user profile returned after a successful OAuth exchange.
Fields common to all providers are promoted to top-level fields. The raw JSON response from the
provider is preserved in raw for any provider-specific data your
application needs.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.provider: StringLowercase provider identifier ("google", "github", …).
provider_user_id: StringThe user’s unique ID within the provider’s system.
email: StringPrimary email address.
email_verified: boolWhether the provider has verified this email address.
name: Option<String>Display name, if the provider returned one.
avatar_url: Option<String>URL of the user’s avatar image, if available.
raw: ValueRaw JSON response from the provider’s user-info endpoint.
Implementations§
Trait Implementations§
Source§impl Clone for UserProfile
impl Clone for UserProfile
Source§fn clone(&self) -> UserProfile
fn clone(&self) -> UserProfile
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 UserProfile
impl Debug for UserProfile
Source§impl<'de> Deserialize<'de> for UserProfile
impl<'de> Deserialize<'de> for UserProfile
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 UserProfile
impl RefUnwindSafe for UserProfile
impl Send for UserProfile
impl Sync for UserProfile
impl Unpin for UserProfile
impl UnsafeUnpin for UserProfile
impl UnwindSafe for UserProfile
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