all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup 1/2] openid: move helper from config to api2
@ 2021-07-01 12:58 Fabian Grünbichler
  2021-07-01 12:58 ` [pbs-devel] [PATCH proxmox-backup 2/2] openid: conditionally disable api endpoint Fabian Grünbichler
  2021-07-05  6:11 ` [pbs-devel] applied-series: [PATCH proxmox-backup 1/2] openid: move helper from config to api2 Thomas Lamprecht
  0 siblings, 2 replies; 3+ messages in thread
From: Fabian Grünbichler @ 2021-07-01 12:58 UTC (permalink / raw)
  To: pbs-devel

it's not really needed in the config module, and this makes it easier to
disable the proxmox-openid dependency linkage as a stop-gap measure.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
 src/api2/access/openid.rs | 17 ++++++++++++++---
 src/config/domains.rs     | 14 --------------
 2 files changed, 14 insertions(+), 17 deletions(-)

diff --git a/src/api2/access/openid.rs b/src/api2/access/openid.rs
index ea6133b4..91a26279 100644
--- a/src/api2/access/openid.rs
+++ b/src/api2/access/openid.rs
@@ -11,7 +11,8 @@ use proxmox::{list_subdirs_api_method};
 use proxmox::{identity, sortable};
 use proxmox::tools::fs::open_file_locked;
 
-use proxmox_openid::OpenIdAuthenticator;
+use proxmox_openid::{OpenIdAuthenticator,  OpenIdConfig};
+
 
 use crate::server::ticket::ApiTicket;
 use crate::tools::ticket::Ticket;
@@ -22,6 +23,16 @@ use crate::config::cached_user_info::CachedUserInfo;
 use crate::api2::types::*;
 use crate::auth_helpers::*;
 
+fn openid_authenticator(realm_config: &OpenIdRealmConfig, redirect_url: &str) -> Result<OpenIdAuthenticator, Error> {
+    let config = OpenIdConfig {
+        issuer_url: realm_config.issuer_url.clone(),
+        client_id: realm_config.client_id.clone(),
+        client_key: realm_config.client_key.clone(),
+    };
+    OpenIdAuthenticator::discover(&config, redirect_url)
+}
+
+
 #[api(
     input: {
         properties: {
@@ -77,7 +88,7 @@ pub fn openid_login(
     let (domains, _digest) = crate::config::domains::config()?;
     let config: OpenIdRealmConfig = domains.lookup("openid", &realm)?;
 
-    let open_id = config.authenticator(&redirect_url)?;
+    let open_id = openid_authenticator(&config, &redirect_url)?;
 
     let info = open_id.verify_authorization_code(&code, &private_auth_state)?;
 
@@ -171,7 +182,7 @@ fn openid_auth_url(
     let (domains, _digest) = crate::config::domains::config()?;
     let config: OpenIdRealmConfig = domains.lookup("openid", &realm)?;
 
-    let open_id = config.authenticator(&redirect_url)?;
+    let open_id = openid_authenticator(&config, &redirect_url)?;
 
     let url = open_id.authorize_url(PROXMOX_BACKUP_RUN_DIR_M!(), &realm)?
         .to_string();
diff --git a/src/config/domains.rs b/src/config/domains.rs
index d08efc24..775c02f3 100644
--- a/src/config/domains.rs
+++ b/src/config/domains.rs
@@ -3,8 +3,6 @@ use lazy_static::lazy_static;
 use std::collections::HashMap;
 use serde::{Serialize, Deserialize};
 
-use proxmox_openid::{OpenIdAuthenticator,  OpenIdConfig};
-
 use proxmox::api::{
     api,
     schema::*,
@@ -95,18 +93,6 @@ pub struct OpenIdRealmConfig {
     pub username_claim: Option<OpenIdUserAttribute>,
 }
 
-impl OpenIdRealmConfig {
-
-    pub fn authenticator(&self, redirect_url: &str) -> Result<OpenIdAuthenticator, Error> {
-        let config = OpenIdConfig {
-            issuer_url: self.issuer_url.clone(),
-            client_id: self.client_id.clone(),
-            client_key: self.client_key.clone(),
-        };
-        OpenIdAuthenticator::discover(&config, redirect_url)
-    }
-}
-
 fn init() -> SectionConfig {
     let obj_schema = match OpenIdRealmConfig::API_SCHEMA {
         Schema::Object(ref obj_schema) => obj_schema,
-- 
2.30.2





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-07-05  6:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-01 12:58 [pbs-devel] [PATCH proxmox-backup 1/2] openid: move helper from config to api2 Fabian Grünbichler
2021-07-01 12:58 ` [pbs-devel] [PATCH proxmox-backup 2/2] openid: conditionally disable api endpoint Fabian Grünbichler
2021-07-05  6:11 ` [pbs-devel] applied-series: [PATCH proxmox-backup 1/2] openid: move helper from config to api2 Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal