From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pve-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 831CD1FF191 for <inbox@lore.proxmox.com>; Mon, 2 Jun 2025 16:15:23 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id A368235832; Mon, 2 Jun 2025 16:15:41 +0200 (CEST) From: Alexander Abraham <a.abraham@proxmox.com> To: pve-devel@lists.proxmox.com Date: Mon, 2 Jun 2025 16:14:58 +0200 Message-Id: <20250602141458.142000-4-a.abraham@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250602141458.142000-1-a.abraham@proxmox.com> References: <20250602141458.142000-1-a.abraham@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.098 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [value.domains] Subject: [pve-devel] [PATCH pve-manager v2 1/1] fix #5076: Added an "audiences" field for Open ID X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/> List-Post: <mailto:pve-devel@lists.proxmox.com> List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com> A field for audiences for OpenId was added for users to supply Open ID audiences as a space-separated array of strings in their realm configuration. This array of audiences is then saved in the realm domains config file. Signed-off-by: Alexander Abraham <a.abraham@proxmox.com> --- www/manager6/Parser.js | 27 +++++++++++++++++++++++++++ www/manager6/dc/AuthEditBase.js | 8 ++++++++ www/manager6/dc/AuthEditOpenId.js | 10 +++++++++- 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/www/manager6/Parser.js b/www/manager6/Parser.js index 07eb9b17..4868777e 100644 --- a/www/manager6/Parser.js +++ b/www/manager6/Parser.js @@ -1,9 +1,36 @@ // Some configuration values are complex strings - so we need parsers/generators for them. Ext.define('PVE.Parser', { + statics: { // this class only contains static functions + checkKeys: function(obj, subject) { + var result = false; + for (const [key, _] of Object.entries(obj)) { + if (key === subject) { + result = true; + } else { + // Do nothing. + } + } + return result; + }, + parseOpenIdAudiences: function(audiences) { + var result = []; + var container = []; + for (var i = 0; i < audiences.length; i++) { + var current = audiences[i]; + if (current === ' ') { + result.push(container.join('')); + container = []; + } else { + container.push(current); + } + } + result.push(container.join('')); + return result; + }, printACME: function(value) { if (Ext.isArray(value.domains)) { value.domains = value.domains.join(';'); diff --git a/www/manager6/dc/AuthEditBase.js b/www/manager6/dc/AuthEditBase.js index e18fbc3b..0110e191 100644 --- a/www/manager6/dc/AuthEditBase.js +++ b/www/manager6/dc/AuthEditBase.js @@ -14,6 +14,14 @@ Ext.define('PVE.panel.AuthBase', { delete values.port; } + var audiences = []; + if (PVE.Parser.checkKeys(values, "audiences")) { + audiences = PVE.Parser.parseOpenIdAudiences(values.audiences); + console.log(audiences); + delete values.audiences; + values.audiences = audiences; + } + if (me.isCreate) { values.type = me.type; } diff --git a/www/manager6/dc/AuthEditOpenId.js b/www/manager6/dc/AuthEditOpenId.js index 544c0de5..0f4b07a9 100644 --- a/www/manager6/dc/AuthEditOpenId.js +++ b/www/manager6/dc/AuthEditOpenId.js @@ -111,6 +111,15 @@ Ext.define('PVE.panel.OpenIDInputPanel', { deleteEmpty: '{!isCreate}', }, }, + { + xtype: 'proxmoxtextfield', + name: 'audiences', + fieldLabel: gettext('Audiences'), + submitEmpty: false, + cbind: { + deleteEmpty: '{!isCreate}', + }, + }, ], initComponent: function() { @@ -123,4 +132,3 @@ Ext.define('PVE.panel.OpenIDInputPanel', { me.callParent(); }, }); - -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel