authbox 0.2.5

A lightweight, modular authentication framework for Rust built around traits, async support, and pluggable component
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use super::auth_user::AuthUser;
use async_trait::async_trait;

#[async_trait]
pub trait EmailProvider {
    type Error;

    async fn send_email(&self, to: &str, subject: &str, body: &str) -> Result<(), Self::Error>;
}

#[async_trait]
pub trait EmailTemplateConfig<U: AuthUser> {
    fn verify_email_subject(&self, user: &U) -> String;
    fn verify_email_body(&self, user: &U, token: &str) -> String;
    fn reset_password_subject(&self, user: &U) -> String;
    fn reset_password_body(&self, user: &U, token: &str) -> String;
}