diff options
| author | Daniel Hader <[email protected]> | 2026-05-30 10:10:17 -0500 |
|---|---|---|
| committer | Daniel Hader <[email protected]> | 2026-05-30 10:10:17 -0500 |
| commit | 929be68e691c1c4015fc6874111b19b9f5d68c02 (patch) | |
| tree | ffc4ecb9c63d8dc242c33d69a592dc093dcfd122 /src/auth.rs | |
| parent | 772c7844c4ca1de632f64eb9428e8e97eea64ac1 (diff) | |
registration page, me endpoint, and minor content tweaks
Diffstat (limited to 'src/auth.rs')
| -rw-r--r-- | src/auth.rs | 56 |
1 files changed, 0 insertions, 56 deletions
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<String, Error> { - 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<bool, Error> { - 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<S: Send + Sync> FromRequestParts<S> for AuthUser { - type Rejection = StatusCode; - - async fn from_request_parts( - parts: &mut Parts, - state: &S, - ) -> Result<Self, Self::Rejection> { - 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()); - } - } -} |
