diff options
Diffstat (limited to 'src/server/routes/auth')
| -rw-r--r-- | src/server/routes/auth/discord.rs | 8 | ||||
| -rw-r--r-- | src/server/routes/auth/mod.rs | 8 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/server/routes/auth/discord.rs b/src/server/routes/auth/discord.rs index b141ce7..b0305f6 100644 --- a/src/server/routes/auth/discord.rs +++ b/src/server/routes/auth/discord.rs @@ -12,6 +12,12 @@ pub(super) async fn discord_auth(data: Data<AppState>) -> Result<impl IntoRespon .authorize_url(CsrfToken::new_random) .add_scope(Scope::new("identify".to_string())) .url(); + dbg!(&auth_url); - Ok(String::default()) + let response = data + .driver + .create_auth_session(&csrf_token, &auth_url) + .await?; + + Ok(response) } diff --git a/src/server/routes/auth/mod.rs b/src/server/routes/auth/mod.rs index b80c565..f0da7cd 100644 --- a/src/server/routes/auth/mod.rs +++ b/src/server/routes/auth/mod.rs @@ -50,10 +50,14 @@ pub struct OAuthDoc; ) )] #[axum::debug_handler] +#[cfg(feature = "oauth")] pub async fn auth( Query(params): Query<Params>, data: Data<AppState>, ) -> Result<impl IntoResponse, AppError> { - dbg!(¶ms); - Ok(String::default()) + + match params.provider { + #[cfg(feature = "oauth-discord")] + OauthProvider::Discord => discord::discord_auth(data), + }.await } |
