ui: dc: add AuthEditOpenId panel

for adding and editing openid realms, does not support tfa

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2021-07-01 14:25:02 +02:00 committed by Thomas Lamprecht
parent 92e7ce43e1
commit 50aeb4e120
3 changed files with 84 additions and 0 deletions

View File

@ -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 \

View File

@ -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',

View File

@ -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]);
},
});