[pve-devel] [PATCH manager 2/6] ui: dc: add AuthEditOpenId panel

Dominik Csapak d.csapak at proxmox.com
Thu Jul 1 14:25:02 CEST 2021


for adding and editing openid realms, does not support tfa

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 www/manager6/Makefile             |  1 +
 www/manager6/Utils.js             |  6 +++
 www/manager6/dc/AuthEditOpenId.js | 77 +++++++++++++++++++++++++++++++
 3 files changed, 84 insertions(+)
 create mode 100644 www/manager6/dc/AuthEditOpenId.js

diff --git a/www/manager6/Makefile b/www/manager6/Makefile
index 3e3fb6eb..ecd6657e 100644
--- a/www/manager6/Makefile
+++ b/www/manager6/Makefile
@@ -120,6 +120,7 @@ JSSRC= 							\
 	dc/AuthEditBase.js				\
 	dc/AuthEditAD.js				\
 	dc/AuthEditLDAP.js				\
+	dc/AuthEditOpenId.js				\
 	dc/AuthView.js					\
 	dc/Backup.js					\
 	dc/Cluster.js					\
diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js
index d728c4be..e642e283 100644
--- a/www/manager6/Utils.js
+++ b/www/manager6/Utils.js
@@ -742,6 +742,12 @@ Ext.define('PVE.Utils', {
 	    add: true,
 	    tfa: true,
 	},
+	openid: {
+	    name: gettext('OpenID Server'),
+	    ipanel: 'pveAuthOpenIDPanel',
+	    add: true,
+	    tfa: false,
+	},
 	pam: {
 	    name: 'Linux PAM',
 	    ipanel: 'pveAuthBasePanel',
diff --git a/www/manager6/dc/AuthEditOpenId.js b/www/manager6/dc/AuthEditOpenId.js
new file mode 100644
index 00000000..f82122e2
--- /dev/null
+++ b/www/manager6/dc/AuthEditOpenId.js
@@ -0,0 +1,77 @@
+Ext.define('PVE.panel.OpenIDInputPanel', {
+    extend: 'PVE.panel.AuthBase',
+    xtype: 'pveAuthOpenIDPanel',
+
+    initComponent: function() {
+	let me = this;
+
+	if (me.type !== 'openid') {
+	    throw 'invalid type';
+	}
+
+	me.columnT = [
+	    {
+		xtype: 'textfield',
+		name: 'issuer-url',
+		fieldLabel: gettext('Issuer URL'),
+		allowBlank: false,
+	    },
+	];
+
+	me.column1 = [
+	    {
+		xtype: 'proxmoxtextfield',
+		fieldLabel: gettext('Client ID'),
+		name: 'client-id',
+		allowBlank: false,
+	    },
+	    {
+		xtype: 'proxmoxtextfield',
+		fieldLabel: gettext('Client Key'),
+		deleteEmpty: !me.isCreate,
+		name: 'client-key',
+	    },
+	];
+
+	me.column2 = [
+	    {
+		xtype: 'proxmoxcheckbox',
+		fieldLabel: gettext('Autocreate Users'),
+		name: 'autocreate',
+		value: 0,
+		deleteEmpty: !me.isCreate,
+	    },
+	];
+
+	if (me.isCreate) {
+	    me.column2.push({
+		xtype: 'proxmoxKVComboBox',
+		name: 'username-claim',
+		value: '__default__',
+		deleteEmpty: !me.isCreate,
+		fieldLabel: gettext('Username Claim'),
+		comboItems: [
+		    ['__default__', Proxmox.Utils.defaultText],
+		    ['subject', 'subject'],
+		    ['username', 'username'],
+		    ['email', 'email'],
+		],
+	    });
+	}
+
+	me.callParent();
+    },
+    onGetValues: function(values) {
+	let me = this;
+
+	if (!values.verify) {
+	    if (!me.isCreate) {
+		Proxmox.Utils.assemble_field_data(values, { 'delete': 'verify' });
+	    }
+	    delete values.verify;
+	}
+
+	return me.callParent([values]);
+    },
+});
+
-- 
2.30.2






More information about the pve-devel mailing list