From b89f6fa7be912160f6dd92aad9a63c69ba2c5a2c Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 27 Nov 2019 01:35:48 -0500 Subject: the server doesn't need to know about the web oauth configs --- teleterm/src/cmd/server.rs | 23 +++++++++++++---------- teleterm/src/server.rs | 35 ++++++++++------------------------- teleterm/src/server/tls.rs | 5 +---- 3 files changed, 24 insertions(+), 39 deletions(-) diff --git a/teleterm/src/cmd/server.rs b/teleterm/src/cmd/server.rs index 25571dc..914d1c6 100644 --- a/teleterm/src/cmd/server.rs +++ b/teleterm/src/cmd/server.rs @@ -31,13 +31,22 @@ impl crate::config::Config for Config { fn run( &self, ) -> Box + Send> { + let oauth_configs = self + .oauth_configs + .iter() + .filter_map(|(ty, configs)| { + configs + .get(&crate::protocol::AuthClient::Cli) + .map(|config| (*ty, config.clone())) + }) + .collect(); if let Some(tls_identity_file) = &self.server.tls_identity_file { create_server_tls( self.server.listen_address, self.server.read_timeout, tls_identity_file, self.server.allowed_login_methods.clone(), - self.oauth_configs.clone(), + oauth_configs, self.server.uid, self.server.gid, ) @@ -46,7 +55,7 @@ impl crate::config::Config for Config { self.server.listen_address, self.server.read_timeout, self.server.allowed_login_methods.clone(), - self.oauth_configs.clone(), + oauth_configs, self.server.uid, self.server.gid, ) @@ -79,10 +88,7 @@ fn create_server( >, oauth_configs: std::collections::HashMap< crate::protocol::AuthType, - std::collections::HashMap< - crate::protocol::AuthClient, - crate::oauth::Config, - >, + crate::oauth::Config, >, uid: Option, gid: Option, @@ -112,10 +118,7 @@ fn create_server_tls( >, oauth_configs: std::collections::HashMap< crate::protocol::AuthType, - std::collections::HashMap< - crate::protocol::AuthClient, - crate::oauth::Config, - >, + crate::oauth::Config, >, uid: Option, gid: Option, diff --git a/teleterm/src/server.rs b/teleterm/src/server.rs index 97659f4..437d7e9 100644 --- a/teleterm/src/server.rs +++ b/teleterm/src/server.rs @@ -309,10 +309,7 @@ pub struct Server< allowed_auth_types: std::collections::HashSet, oauth_configs: std::collections::HashMap< crate::protocol::AuthType, - std::collections::HashMap< - crate::protocol::AuthClient, - crate::oauth::Config, - >, + crate::oauth::Config, >, } @@ -327,10 +324,7 @@ impl >, oauth_configs: std::collections::HashMap< crate::protocol::AuthType, - std::collections::HashMap< - crate::protocol::AuthClient, - crate::oauth::Config, - >, + crate::oauth::Config, >, ) -> Self { Self { @@ -385,27 +379,18 @@ impl )); } oauth if oauth.is_oauth() => { - let configs = self.oauth_configs.get(&ty).context( + let config = self.oauth_configs.get(&ty).context( crate::error::AuthTypeMissingOauthConfig { ty }, )?; let (refresh, client) = match oauth { - crate::protocol::Auth::RecurseCenter { - auth_client, - id, - .. - } => { - let config = configs.get(auth_client).context( - crate::error::AuthTypeMissingOauthConfig { ty }, - )?; - ( - id.is_some(), - ty.oauth_client( - config, - id.as_ref().map(std::string::String::as_str), - ) - .unwrap(), + crate::protocol::Auth::RecurseCenter { id, .. } => ( + id.is_some(), + ty.oauth_client( + config, + id.as_ref().map(std::string::String::as_str), ) - } + .unwrap(), + ), _ => unreachable!(), }; diff --git a/teleterm/src/server/tls.rs b/teleterm/src/server/tls.rs index 694866a..28b9b28 100644 --- a/teleterm/src/server/tls.rs +++ b/teleterm/src/server/tls.rs @@ -28,10 +28,7 @@ impl Server { >, oauth_configs: std::collections::HashMap< crate::protocol::AuthType, - std::collections::HashMap< - crate::protocol::AuthClient, - crate::oauth::Config, - >, + crate::oauth::Config, >, ) -> Self { let (tls_sock_w, tls_sock_r) = tokio::sync::mpsc::channel(100); -- cgit v1.2.3-54-g00ecf