Brize Auth :construction:
A simple to use async basic auth and session library for MySql and SurrealDB.
Still a WIP, not in a usable state.
Setup
Start Development Database, Non-Persist, No-Auth
cargo add brize_auth
Usage
use brize_auth::{Auth, Config};
#[tokio::main]
fn main {
let auth = Auth::new();
auth.credentials_database(Config::SurrealDB); auth.credential_table(Config::TableName("my_creds_table"))
auth.session_database(Config::Redis); auth.session_table(Config::TableName("my_sesh_table")) auth.use_jwt(Expiry::Month(2));
let user_identity = "brizey@gmail.com"; let raw_password = "plokij1234!";
let session_id_or_jwt_token = register(user_identity, raw_password).await.unwrap();
let session_id_or_jwt_token = login(user_identity, raw_password).await.unwrap();
let bool = auth.validate_session(session_id).await.unrwap();
let bool = auth.validate_token(jwt_token).await.unwrap();
auth.log_out(user_identity, session_id_or_jwt_token);
let new_identity = "brizzz@gmail.com";
let new_password = "vbnm1234!";
auth.change_user_identity(user_identity, new_identity);
auth.change_user_password(raw_password, new_password);
auth.delete_credentials(user_identity, raw_password);
auth.delete_session(session_id);
let new_session = auth.get_fresh_session(old_session_id);
let new_token = auth.get_fresh_token(old_token);
}
Roadmap