diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-11-26 00:58:00 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-11-26 00:58:00 -0500 |
commit | 81fc5c6a2c6df38025961945cb496ccc4d432036 (patch) | |
tree | a52144909ace2e0fa4d47333cc059a46c4a04b99 /teleterm/src/web.rs | |
parent | d55090ca3e7c3bf421ba58f02db3a97f7b21e631 (diff) | |
download | teleterm-81fc5c6a2c6df38025961945cb496ccc4d432036.tar.gz teleterm-81fc5c6a2c6df38025961945cb496ccc4d432036.zip |
allow configuring the allowed login methods for the web server
Diffstat (limited to 'teleterm/src/web.rs')
-rw-r--r-- | teleterm/src/web.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/teleterm/src/web.rs b/teleterm/src/web.rs index bf39c47..d3a79d4 100644 --- a/teleterm/src/web.rs +++ b/teleterm/src/web.rs @@ -14,6 +14,8 @@ use gotham::state::FromState as _; struct Config { server_address: (String, std::net::SocketAddr), public_address: String, + allowed_login_methods: + std::collections::HashSet<crate::protocol::AuthType>, } #[derive(Default, serde::Deserialize, serde::Serialize)] @@ -25,6 +27,8 @@ struct SessionData { struct WebConfig<'a> { username: Option<&'a str>, public_address: &'a str, + allowed_login_methods: + &'a std::collections::HashSet<crate::protocol::AuthType>, } impl<'a> WebConfig<'a> { @@ -35,6 +39,7 @@ impl<'a> WebConfig<'a> { .as_ref() .map(std::string::String::as_str), public_address: &config.public_address, + allowed_login_methods: &config.allowed_login_methods, } } } @@ -48,10 +53,14 @@ impl Server { listen_address: std::net::SocketAddr, public_address: String, server_address: (String, std::net::SocketAddr), + allowed_login_methods: std::collections::HashSet< + crate::protocol::AuthType, + >, ) -> Self { let data = Config { server_address, public_address, + allowed_login_methods, }; Self { server: Box::new(gotham::init_server( |