pub struct GitHubSocialProvider { /* private fields */ }Expand description
GitHub OAuth 2.0 social provider.
Constructed from a SocialProviderConfig via Self::new.
fetch_user_info always calls both /user and /user/emails; the
latter provides the verified primary email (per plan §3.2).
Implementations§
Source§impl GitHubSocialProvider
impl GitHubSocialProvider
Sourcepub fn new(config: SocialProviderConfig) -> Result<Self, AuthError>
pub fn new(config: SocialProviderConfig) -> Result<Self, AuthError>
Build a GitHubSocialProvider from a decrypted config.
Returns AuthError::Validation if provider_type is not Github
or scopes is empty.
Trait Implementations§
Source§impl Debug for GitHubSocialProvider
impl Debug for GitHubSocialProvider
Source§impl SocialProvider for GitHubSocialProvider
impl SocialProvider for GitHubSocialProvider
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 GitHubSocialProvider
impl !RefUnwindSafe for GitHubSocialProvider
impl Send for GitHubSocialProvider
impl Sync for GitHubSocialProvider
impl Unpin for GitHubSocialProvider
impl UnsafeUnpin for GitHubSocialProvider
impl !UnwindSafe for GitHubSocialProvider
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