diff options
Diffstat (limited to 'crates/api-auth/src/lib.rs')
| -rw-r--r-- | crates/api-auth/src/lib.rs | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/crates/api-auth/src/lib.rs b/crates/api-auth/src/lib.rs index 284b772..95a04c4 100644 --- a/crates/api-auth/src/lib.rs +++ b/crates/api-auth/src/lib.rs @@ -3,7 +3,6 @@ pub mod discord; mod error; use api_core::auth::AuthClientConfig; -use api_core::auth::provider::OauthProvider; use api_core::models::user::User; pub use error::AuthClientError; @@ -24,20 +23,16 @@ pub struct BasicClient(C); pub trait OauthDriver: Send + Sync + std::fmt::Debug { async fn get_auth_token(&self) -> Result<String, AuthError>; async fn get_user(&self) -> Result<User, AuthError>; - async fn create_session(&self, user: &User); + async fn create_oauth_session(&self)->Result<String, AuthError>; + async fn save_session(&self, user: &User)->Result<(), AuthError>; } use oauth2::{AuthUrl, ClientId, ClientSecret, RedirectUrl, TokenUrl}; -use sqlx::PgPool; -use std::collections::HashMap; -use std::sync::Arc; use std::{convert::TryFrom, ops::Deref}; use crate::error::AuthError; -pub struct OauthService { - clients: HashMap<OauthProvider, Arc<dyn OauthDriver>>, -} +static CSRF_TOKEN: &str = "csrf_token"; impl Deref for BasicClient { type Target = C; |
