Updated all dependencies
This commit is contained in:
		@@ -20,14 +20,14 @@ use crate::utils::string_utils::rand_str;
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "settings/clients_list.html")]
 | 
			
		||||
struct ClientsListTemplate<'a> {
 | 
			
		||||
    _p: BaseSettingsPage<'a>,
 | 
			
		||||
    p: BaseSettingsPage<'a>,
 | 
			
		||||
    clients: Vec<Client>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "settings/providers_list.html")]
 | 
			
		||||
struct ProvidersListTemplate<'a> {
 | 
			
		||||
    _p: BaseSettingsPage<'a>,
 | 
			
		||||
    p: BaseSettingsPage<'a>,
 | 
			
		||||
    providers: Vec<Provider>,
 | 
			
		||||
    redirect_url: String,
 | 
			
		||||
}
 | 
			
		||||
@@ -35,14 +35,14 @@ struct ProvidersListTemplate<'a> {
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "settings/users_list.html")]
 | 
			
		||||
struct UsersListTemplate<'a> {
 | 
			
		||||
    _p: BaseSettingsPage<'a>,
 | 
			
		||||
    p: BaseSettingsPage<'a>,
 | 
			
		||||
    users: Vec<User>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "settings/edit_user.html")]
 | 
			
		||||
struct EditUserTemplate<'a> {
 | 
			
		||||
    _p: BaseSettingsPage<'a>,
 | 
			
		||||
    p: BaseSettingsPage<'a>,
 | 
			
		||||
    u: User,
 | 
			
		||||
    clients: Vec<Client>,
 | 
			
		||||
    providers: Vec<Provider>,
 | 
			
		||||
@@ -54,7 +54,7 @@ pub async fn clients_route(
 | 
			
		||||
) -> impl Responder {
 | 
			
		||||
    HttpResponse::Ok().body(
 | 
			
		||||
        ClientsListTemplate {
 | 
			
		||||
            _p: BaseSettingsPage::get("Clients list", &user, None, None),
 | 
			
		||||
            p: BaseSettingsPage::get("Clients list", &user, None, None),
 | 
			
		||||
            clients: clients.cloned(),
 | 
			
		||||
        }
 | 
			
		||||
        .render()
 | 
			
		||||
@@ -68,7 +68,7 @@ pub async fn providers_route(
 | 
			
		||||
) -> impl Responder {
 | 
			
		||||
    HttpResponse::Ok().body(
 | 
			
		||||
        ProvidersListTemplate {
 | 
			
		||||
            _p: BaseSettingsPage::get("OpenID Providers list", &user, None, None),
 | 
			
		||||
            p: BaseSettingsPage::get("OpenID Providers list", &user, None, None),
 | 
			
		||||
            providers: providers.cloned(),
 | 
			
		||||
            redirect_url: AppConfig::get().oidc_provider_redirect_url(),
 | 
			
		||||
        }
 | 
			
		||||
@@ -280,7 +280,7 @@ pub async fn users_route(
 | 
			
		||||
 | 
			
		||||
    HttpResponse::Ok().body(
 | 
			
		||||
        UsersListTemplate {
 | 
			
		||||
            _p: BaseSettingsPage::get("Users list", &admin, danger, success),
 | 
			
		||||
            p: BaseSettingsPage::get("Users list", &admin, danger, success),
 | 
			
		||||
            users,
 | 
			
		||||
        }
 | 
			
		||||
        .render()
 | 
			
		||||
@@ -306,7 +306,7 @@ pub async fn create_user(
 | 
			
		||||
 | 
			
		||||
    HttpResponse::Ok().body(
 | 
			
		||||
        EditUserTemplate {
 | 
			
		||||
            _p: BaseSettingsPage::get("Create a new user", admin.deref(), None, None),
 | 
			
		||||
            p: BaseSettingsPage::get("Create a new user", admin.deref(), None, None),
 | 
			
		||||
            u: user,
 | 
			
		||||
            clients: clients.cloned(),
 | 
			
		||||
            providers: providers.cloned(),
 | 
			
		||||
@@ -336,7 +336,7 @@ pub async fn edit_user(
 | 
			
		||||
 | 
			
		||||
    HttpResponse::Ok().body(
 | 
			
		||||
        EditUserTemplate {
 | 
			
		||||
            _p: BaseSettingsPage::get(
 | 
			
		||||
            p: BaseSettingsPage::get(
 | 
			
		||||
                "Edit user account",
 | 
			
		||||
                admin.deref(),
 | 
			
		||||
                match edited_account.is_none() {
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,7 @@ pub struct BaseLoginPage<'a> {
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "login/login.html")]
 | 
			
		||||
struct LoginTemplate<'a> {
 | 
			
		||||
    _p: BaseLoginPage<'a>,
 | 
			
		||||
    p: BaseLoginPage<'a>,
 | 
			
		||||
    login: String,
 | 
			
		||||
    providers: Vec<Provider>,
 | 
			
		||||
}
 | 
			
		||||
@@ -38,27 +38,27 @@ struct LoginTemplate<'a> {
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "login/password_reset.html")]
 | 
			
		||||
struct PasswordResetTemplate<'a> {
 | 
			
		||||
    _p: BaseLoginPage<'a>,
 | 
			
		||||
    p: BaseLoginPage<'a>,
 | 
			
		||||
    min_pass_len: usize,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "login/choose_second_factor.html")]
 | 
			
		||||
struct ChooseSecondFactorTemplate<'a> {
 | 
			
		||||
    _p: BaseLoginPage<'a>,
 | 
			
		||||
    p: BaseLoginPage<'a>,
 | 
			
		||||
    user: &'a User,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "login/otp_input.html")]
 | 
			
		||||
struct LoginWithOTPTemplate<'a> {
 | 
			
		||||
    _p: BaseLoginPage<'a>,
 | 
			
		||||
    p: BaseLoginPage<'a>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "login/webauthn_input.html")]
 | 
			
		||||
struct LoginWithWebauthnTemplate<'a> {
 | 
			
		||||
    _p: BaseLoginPage<'a>,
 | 
			
		||||
    p: BaseLoginPage<'a>,
 | 
			
		||||
    opaque_state: String,
 | 
			
		||||
    challenge_json: String,
 | 
			
		||||
}
 | 
			
		||||
@@ -199,7 +199,7 @@ pub async fn login_route(
 | 
			
		||||
 | 
			
		||||
    HttpResponse::Ok().content_type("text/html").body(
 | 
			
		||||
        LoginTemplate {
 | 
			
		||||
            _p: BaseLoginPage {
 | 
			
		||||
            p: BaseLoginPage {
 | 
			
		||||
                page_title: "Login",
 | 
			
		||||
                danger,
 | 
			
		||||
                success,
 | 
			
		||||
@@ -273,7 +273,7 @@ pub async fn reset_password_route(
 | 
			
		||||
 | 
			
		||||
    HttpResponse::Ok().content_type("text/html").body(
 | 
			
		||||
        PasswordResetTemplate {
 | 
			
		||||
            _p: BaseLoginPage {
 | 
			
		||||
            p: BaseLoginPage {
 | 
			
		||||
                page_title: "Password reset",
 | 
			
		||||
                danger,
 | 
			
		||||
                success: None,
 | 
			
		||||
@@ -323,7 +323,7 @@ pub async fn choose_2fa_method(
 | 
			
		||||
 | 
			
		||||
    HttpResponse::Ok().content_type("text/html").body(
 | 
			
		||||
        ChooseSecondFactorTemplate {
 | 
			
		||||
            _p: BaseLoginPage {
 | 
			
		||||
            p: BaseLoginPage {
 | 
			
		||||
                page_title: "Two factor authentication",
 | 
			
		||||
                danger: None,
 | 
			
		||||
                success: None,
 | 
			
		||||
@@ -408,7 +408,7 @@ pub async fn login_with_otp(
 | 
			
		||||
 | 
			
		||||
    HttpResponse::Ok().body(
 | 
			
		||||
        LoginWithOTPTemplate {
 | 
			
		||||
            _p: BaseLoginPage {
 | 
			
		||||
            p: BaseLoginPage {
 | 
			
		||||
                danger,
 | 
			
		||||
                success: None,
 | 
			
		||||
                page_title: "Two-Factor Auth",
 | 
			
		||||
@@ -473,7 +473,7 @@ pub async fn login_with_webauthn(
 | 
			
		||||
 | 
			
		||||
    HttpResponse::Ok().body(
 | 
			
		||||
        LoginWithWebauthnTemplate {
 | 
			
		||||
            _p: BaseLoginPage {
 | 
			
		||||
            p: BaseLoginPage {
 | 
			
		||||
                danger: None,
 | 
			
		||||
                success: None,
 | 
			
		||||
                page_title: "Two-Factor Auth",
 | 
			
		||||
 
 | 
			
		||||
@@ -22,14 +22,14 @@ use crate::data::session_identity::{SessionIdentity, SessionStatus};
 | 
			
		||||
#[derive(askama::Template)]
 | 
			
		||||
#[template(path = "login/prov_login_error.html")]
 | 
			
		||||
struct ProviderLoginError<'a> {
 | 
			
		||||
    _p: BaseLoginPage<'a>,
 | 
			
		||||
    p: BaseLoginPage<'a>,
 | 
			
		||||
    message: &'a str,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl<'a> ProviderLoginError<'a> {
 | 
			
		||||
    pub fn get(message: &'a str, redirect_uri: &'a LoginRedirect) -> HttpResponse {
 | 
			
		||||
        let body = Self {
 | 
			
		||||
            _p: BaseLoginPage {
 | 
			
		||||
            p: BaseLoginPage {
 | 
			
		||||
                danger: None,
 | 
			
		||||
                success: None,
 | 
			
		||||
                page_title: "Upstream login",
 | 
			
		||||
 
 | 
			
		||||
@@ -45,14 +45,14 @@ impl<'a> BaseSettingsPage<'a> {
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "settings/account_details.html")]
 | 
			
		||||
struct AccountDetailsPage<'a> {
 | 
			
		||||
    _p: BaseSettingsPage<'a>,
 | 
			
		||||
    p: BaseSettingsPage<'a>,
 | 
			
		||||
    remote_ip: String,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "settings/change_password.html")]
 | 
			
		||||
struct ChangePasswordPage<'a> {
 | 
			
		||||
    _p: BaseSettingsPage<'a>,
 | 
			
		||||
    p: BaseSettingsPage<'a>,
 | 
			
		||||
    min_pwd_len: usize,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -61,7 +61,7 @@ pub async fn account_settings_details_route(user: CurrentUser, ip: RemoteIP) ->
 | 
			
		||||
    let user = user.into();
 | 
			
		||||
    HttpResponse::Ok().body(
 | 
			
		||||
        AccountDetailsPage {
 | 
			
		||||
            _p: BaseSettingsPage::get("Account details", &user, None, None),
 | 
			
		||||
            p: BaseSettingsPage::get("Account details", &user, None, None),
 | 
			
		||||
            remote_ip: ip.0.to_string(),
 | 
			
		||||
        }
 | 
			
		||||
        .render()
 | 
			
		||||
@@ -145,7 +145,7 @@ pub async fn change_password_route(
 | 
			
		||||
 | 
			
		||||
    HttpResponse::Ok().body(
 | 
			
		||||
        ChangePasswordPage {
 | 
			
		||||
            _p: BaseSettingsPage::get("Change password", &user, danger, success),
 | 
			
		||||
            p: BaseSettingsPage::get("Change password", &user, danger, success),
 | 
			
		||||
            min_pwd_len: MIN_PASS_LEN,
 | 
			
		||||
        }
 | 
			
		||||
        .render()
 | 
			
		||||
 
 | 
			
		||||
@@ -17,14 +17,14 @@ use crate::data::webauthn_manager::WebAuthManagerReq;
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "settings/two_factors_page.html")]
 | 
			
		||||
struct TwoFactorsPage<'a> {
 | 
			
		||||
    _p: BaseSettingsPage<'a>,
 | 
			
		||||
    p: BaseSettingsPage<'a>,
 | 
			
		||||
    user: &'a User,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "settings/add_2fa_totp_page.html")]
 | 
			
		||||
struct AddTotpPage<'a> {
 | 
			
		||||
    _p: BaseSettingsPage<'a>,
 | 
			
		||||
    p: BaseSettingsPage<'a>,
 | 
			
		||||
    qr_code: String,
 | 
			
		||||
    account_name: String,
 | 
			
		||||
    secret_key: String,
 | 
			
		||||
@@ -34,7 +34,7 @@ struct AddTotpPage<'a> {
 | 
			
		||||
#[derive(Template)]
 | 
			
		||||
#[template(path = "settings/add_webauthn_page.html")]
 | 
			
		||||
struct AddWebauhtnPage<'a> {
 | 
			
		||||
    _p: BaseSettingsPage<'a>,
 | 
			
		||||
    p: BaseSettingsPage<'a>,
 | 
			
		||||
    opaque_state: String,
 | 
			
		||||
    challenge_json: String,
 | 
			
		||||
    max_name_len: usize,
 | 
			
		||||
@@ -44,7 +44,7 @@ struct AddWebauhtnPage<'a> {
 | 
			
		||||
pub async fn two_factors_route(user: CurrentUser) -> impl Responder {
 | 
			
		||||
    HttpResponse::Ok().body(
 | 
			
		||||
        TwoFactorsPage {
 | 
			
		||||
            _p: BaseSettingsPage::get("Two factor auth", &user, None, None),
 | 
			
		||||
            p: BaseSettingsPage::get("Two factor auth", &user, None, None),
 | 
			
		||||
            user: user.deref(),
 | 
			
		||||
        }
 | 
			
		||||
        .render()
 | 
			
		||||
@@ -71,7 +71,7 @@ pub async fn add_totp_factor_route(user: CurrentUser) -> impl Responder {
 | 
			
		||||
 | 
			
		||||
    HttpResponse::Ok().body(
 | 
			
		||||
        AddTotpPage {
 | 
			
		||||
            _p: BaseSettingsPage::get("New authenticator app", &user, None, None),
 | 
			
		||||
            p: BaseSettingsPage::get("New authenticator app", &user, None, None),
 | 
			
		||||
            qr_code: BASE64_STANDARD.encode(qr_code),
 | 
			
		||||
            account_name: key.account_name(&user, AppConfig::get()),
 | 
			
		||||
            secret_key: key.get_secret(),
 | 
			
		||||
@@ -106,7 +106,7 @@ pub async fn add_webauthn_factor_route(
 | 
			
		||||
 | 
			
		||||
    HttpResponse::Ok().body(
 | 
			
		||||
        AddWebauhtnPage {
 | 
			
		||||
            _p: BaseSettingsPage::get("New security key", &user, None, None),
 | 
			
		||||
            p: BaseSettingsPage::get("New security key", &user, None, None),
 | 
			
		||||
 | 
			
		||||
            opaque_state: registration_request.opaque_state,
 | 
			
		||||
            challenge_json: urlencoding::encode(&challenge_json).to_string(),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user