aboutsummaryrefslogtreecommitdiffstats
path: root/src/server/routes
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/routes')
-rw-r--r--src/server/routes/auth/discord.rs8
-rw-r--r--src/server/routes/auth/mod.rs8
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!(&params);
- Ok(String::default())
+
+ match params.provider {
+ #[cfg(feature = "oauth-discord")]
+ OauthProvider::Discord => discord::discord_auth(data),
+ }.await
}