aboutsummaryrefslogtreecommitdiffstats
path: root/teleterm/src/web.rs
diff options
context:
space:
mode:
Diffstat (limited to 'teleterm/src/web.rs')
-rw-r--r--teleterm/src/web.rs9
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(