From 929be68e691c1c4015fc6874111b19b9f5d68c02 Mon Sep 17 00:00:00 2001 From: Daniel Hader Date: Sat, 30 May 2026 10:10:17 -0500 Subject: registration page, me endpoint, and minor content tweaks --- src/auth.rs | 56 -------------------------------------------------------- 1 file changed, 56 deletions(-) delete mode 100644 src/auth.rs (limited to 'src/auth.rs') diff --git a/src/auth.rs b/src/auth.rs deleted file mode 100644 index a621756..0000000 --- a/src/auth.rs +++ /dev/null @@ -1,56 +0,0 @@ -use axum::{extract::FromRequestParts, http::{StatusCode, request::Parts}}; -use serde::Serialize; -use argon2::{Argon2, PasswordHash, PasswordVerifier, password_hash::{ - Error, PasswordHasher, SaltString, rand_core::OsRng -}}; - -pub fn hash_password(password: &str) -> Result { - let argon2 = Argon2::default(); - let salt = SaltString::generate(&mut OsRng); - Ok(argon2.hash_password(password.as_bytes(), &salt)?.to_string()) -} - -pub fn check_password(password: &str, password_hash: &str) -> Result { - let argon2 = Argon2::default(); - let hash = PasswordHash::new(password_hash)?; - Ok(argon2.verify_password(password.as_bytes(), &hash).is_ok()) -} - -#[derive(Serialize)] -pub struct Claims { - pub sub: String, - pub exp: usize, - pub iat: usize, - pub is_admin: bool, -} - -//pub fn create_jwt(email: &str, is_admin: bool) -> Result - -pub struct AuthUser(pub Claims); - -impl FromRequestParts for AuthUser { - type Rejection = StatusCode; - - async fn from_request_parts( - parts: &mut Parts, - state: &S, - ) -> Result { - todo!(); - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn test_password_hashing() { - - let passwords = vec!["password", "test1", "random"]; - - for password in &passwords { - let hash = hash_password(password).unwrap(); - assert!(check_password(password, &hash).unwrap()); - } - } -} -- cgit v1.2.3