qvet_api/
github.rs

1use anyhow::{Context, Result};
2use oauth2::{basic::BasicClient, AuthUrl, ClientId, ClientSecret, TokenUrl};
3
4pub fn github_oauth2_client(
5    github_client_id: String,
6    github_client_secret: String,
7) -> Result<BasicClient> {
8    let client_id = ClientId::new(github_client_id);
9    let client_secret = ClientSecret::new(github_client_secret);
10    let oauth2_client = BasicClient::new(
11        client_id,
12        Some(client_secret),
13        AuthUrl::new("https://github.com/login/oauth/authorize".to_string())
14            .context("invalid github authorize url")?,
15        Some(TokenUrl::new("https://github.com/login/oauth/access_token".to_string()).unwrap()),
16    );
17    Ok(oauth2_client)
18}