oauth2_github/extensions/
builder.rs1use oauth2_client::{
2 extensions::{
3 AccessTokenResponseSuccessfulBody, Builder, BuilderObtainUserInfoError,
4 BuilderObtainUserInfoOutput, GrantInfo,
5 },
6 re_exports::Scope,
7};
8
9use super::GithubUserInfoEndpoint;
10
11#[derive(Debug, Clone)]
13pub struct GithubExtensionsBuilder;
14
15impl<SCOPE> Builder<SCOPE> for GithubExtensionsBuilder
16where
17 SCOPE: Scope,
18{
19 fn obtain_user_info(
20 &self,
21 _grant_info: GrantInfo<SCOPE>,
22 access_token: &AccessTokenResponseSuccessfulBody<SCOPE>,
23 ) -> Result<BuilderObtainUserInfoOutput, BuilderObtainUserInfoError> {
24 Ok(BuilderObtainUserInfoOutput::Respond(Box::new(
25 GithubUserInfoEndpoint::new(&access_token.access_token),
26 )))
27 }
28}