pub struct GitHubProvider { /* private fields */ }Expand description
GitHub OAuth2 provider.
Implements the authorization code flow with PKCE against GitHub’s OAuth endpoints. Requires a GitHub OAuth App with client_id and client_secret.
Implementations§
Trait Implementations§
Source§impl OAuthProvider for GitHubProvider
impl OAuthProvider for GitHubProvider
Source§fn name(&self) -> &str
fn name(&self) -> &str
Provider name, lowercase. Used as the URL path segment and the
provider column in oauth_accounts.Build the authorization URL the user should be redirected to.
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.
Source§fn user_info<'a>(
&'a self,
access_token: &'a str,
) -> AuthFuture<'a, OAuthUserInfo>
fn user_info<'a>( &'a self, access_token: &'a str, ) -> AuthFuture<'a, OAuthUserInfo>
Fetch user information from the provider using the access token.
Auto Trait Implementations§
impl Freeze for GitHubProvider
impl !RefUnwindSafe for GitHubProvider
impl Send for GitHubProvider
impl Sync for GitHubProvider
impl Unpin for GitHubProvider
impl UnsafeUnpin for GitHubProvider
impl !UnwindSafe for GitHubProvider
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