pub struct GoogleSocialProvider { /* private fields */ }Expand description
Google OAuth 2.0 + OIDC social provider.
Constructed from a SocialProviderConfig via Self::new. The
exchange_code method returns the id_token JWT from the token
response; fetch_user_info decodes it locally — no second HTTP call.
Implementations§
Source§impl GoogleSocialProvider
impl GoogleSocialProvider
Sourcepub fn new(config: SocialProviderConfig) -> Result<Self, AuthError>
pub fn new(config: SocialProviderConfig) -> Result<Self, AuthError>
Build a GoogleSocialProvider from a decrypted config.
Returns AuthError::Validation if provider_type is not Google
or scopes is empty.
Trait Implementations§
Source§impl Debug for GoogleSocialProvider
impl Debug for GoogleSocialProvider
Source§impl SocialProvider for GoogleSocialProvider
impl SocialProvider for GoogleSocialProvider
Source§fn provider_type(&self) -> ProviderType
fn provider_type(&self) -> ProviderType
Which provider type this instance represents.
Build the provider’s authorization redirect URL.
Source§fn exchange_code<'a>(
&'a self,
code: &'a str,
redirect_uri: &'a str,
pkce_verifier: &'a str,
) -> AuthFuture<'a, String>
fn exchange_code<'a>( &'a self, code: &'a str, redirect_uri: &'a str, pkce_verifier: &'a str, ) -> AuthFuture<'a, String>
Exchange an authorization code for an access token. Read more
Source§fn fetch_user_info<'a>(
&'a self,
access_token: &'a str,
) -> AuthFuture<'a, SocialUserInfo>
fn fetch_user_info<'a>( &'a self, access_token: &'a str, ) -> AuthFuture<'a, SocialUserInfo>
Fetch the authenticated user’s identity using the access token.
Auto Trait Implementations§
impl Freeze for GoogleSocialProvider
impl !RefUnwindSafe for GoogleSocialProvider
impl Send for GoogleSocialProvider
impl Sync for GoogleSocialProvider
impl Unpin for GoogleSocialProvider
impl UnsafeUnpin for GoogleSocialProvider
impl !UnwindSafe for GoogleSocialProvider
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> 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