aboutsummaryrefslogtreecommitdiffstats
path: root/lib/auth/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/auth/src/lib.rs')
-rw-r--r--lib/auth/src/lib.rs41
1 files changed, 0 insertions, 41 deletions
diff --git a/lib/auth/src/lib.rs b/lib/auth/src/lib.rs
deleted file mode 100644
index 2a1390e..0000000
--- a/lib/auth/src/lib.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-use bon::Builder;
-use oauth2::{AuthUrl, ClientId, ClientSecret, EndpointNotSet, EndpointSet, RedirectUrl, TokenUrl};
-use secrecy::{ExposeSecret, SecretString};
-use thiserror::Error;
-
-#[derive(Builder)]
-pub struct ClientOptions {
- client_id: String,
- client_secret: SecretString,
- token_url: String,
- auth_url: String,
- redirect_url: String,
-}
-
-#[derive(Error, Debug)]
-pub enum OauthError {
- #[error("invalid url")]
- InvalidUrl(#[from] url::ParseError),
-}
-
-pub type OauthClient = oauth2::basic::BasicClient<
- EndpointSet,
- EndpointNotSet,
- EndpointNotSet,
- EndpointNotSet,
- EndpointSet,
->;
-
-pub fn oauth_client(opts: &ClientOptions) -> Result<OauthClient, OauthError> {
- let redirect_url = RedirectUrl::new(opts.redirect_url.to_owned())?;
- let client_id = ClientId::new(opts.client_id.to_owned());
- let auth_url = AuthUrl::new(opts.auth_url.to_owned())?;
- let token_url = TokenUrl::new(opts.token_url.to_owned())?;
- let client_secret = ClientSecret::new(opts.client_secret.expose_secret().to_string());
-
- Ok(oauth2::basic::BasicClient::new(client_id)
- .set_client_secret(client_secret)
- .set_auth_uri(auth_url)
- .set_token_uri(token_url)
- .set_redirect_uri(redirect_url))
-}