Start to work on 2FA

This commit is contained in:
2022-04-18 19:23:43 +02:00
parent c0d1c41b4c
commit 3023771334
7 changed files with 82 additions and 3 deletions

View File

@ -4,4 +4,5 @@ pub mod login_controller;
pub mod settings_controller;
pub mod admin_controller;
pub mod admin_api;
pub mod openid_controller;
pub mod openid_controller;
pub mod two_factors_controller;

View File

@ -108,10 +108,9 @@ pub async fn change_password_route(user: CurrentUser,
}
}
HttpResponse::Ok()
.body(ChangePasswordPage {
_p: BaseSettingsPage::get("Change password", &user, danger, success),
min_pwd_len: MIN_PASS_LEN,
}.render().unwrap())
}
}

View File

@ -0,0 +1,48 @@
use std::ops::Deref;
use actix_web::{HttpResponse, Responder};
use askama::Template;
use crate::controllers::settings_controller::BaseSettingsPage;
use crate::data::current_user::CurrentUser;
use crate::data::user::User;
#[derive(Template)]
#[template(path = "settings/two_factors_page.html")]
struct TwoFactorsPage<'a> {
_p: BaseSettingsPage,
user: &'a User,
}
#[derive(Template)]
#[template(path = "settings/add_2fa_totp_page.html")]
struct AddTotpPage {
_p: BaseSettingsPage,
}
/// Manage two factors authentication methods route
pub async fn two_factors_route(user: CurrentUser) -> impl Responder {
HttpResponse::Ok()
.body(TwoFactorsPage {
_p: BaseSettingsPage::get(
"Two factors auth",
&user,
None,
None),
user: user.deref(),
}.render().unwrap())
}
/// Configure a new TOTP authentication factor
pub async fn add_totp_factor_route(user: CurrentUser) -> impl Responder {
HttpResponse::Ok()
.body(AddTotpPage {
_p: BaseSettingsPage::get(
"Configure new TOTP factor",
&user,
None,
None),
}.render().unwrap())
}