From 0365c7978c73f8ffea256039459ed7b27e0606a0 Mon Sep 17 00:00:00 2001 From: eiiko6 Date: Mon, 15 Dec 2025 14:50:50 +0100 Subject: [PATCH] created frontend with login, room listing and creation, and message page with all features --- src/main.rs | 4 ++-- src/routes/users.rs | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index 47563fb..d4cbffd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -24,8 +24,8 @@ async fn main() -> anyhow::Result<()> { .allow_headers([header::AUTHORIZATION, header::CONTENT_TYPE]); let governor_conf = GovernorConfigBuilder::default() - .per_second(5) - .burst_size(10) + .per_second(10) + .burst_size(20) .finish() .unwrap(); diff --git a/src/routes/users.rs b/src/routes/users.rs index 904d876..22f5a21 100644 --- a/src/routes/users.rs +++ b/src/routes/users.rs @@ -1,13 +1,17 @@ use axum::{ - Extension, Json, Router, extract::Request, http::StatusCode, middleware::Next, - response::Response, routing::post, + Extension, Json, Router, + extract::Request, + http::{HeaderMap, StatusCode}, + middleware::Next, + response::Response, + routing::{get, post}, }; use sqlx::PgPool; use std::env; use uuid::Uuid; use validator::ValidateEmail; -use crate::auth::{create_jwt, hash_password, verify_password}; +use crate::auth::{create_jwt, hash_password, verify_jwt, verify_password}; const DUMMY_HASH: &str = "$argon2id$v=19$m=4096,t=3,p=1$YWFhYWFhYWFhYWFhYWFhYQ$aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; @@ -42,6 +46,7 @@ pub fn routes() -> Router { Router::new() .route("/login", post(login)) .route("/register", post(register_user)) + .route("/validate-token", get(validate_token)) .layer(axum::middleware::from_fn(registration_guard)) } @@ -144,3 +149,8 @@ pub async fn register_user( }), )) } + +async fn validate_token(headers: HeaderMap) -> Result { + let _ = verify_jwt(headers)?; + Ok(String::from("OK")) +}