Commit 5c9c7779 authored by Dietmar Maurer's avatar Dietmar Maurer

oath: add 'step' and 'digits' options

parent b913fbd6
...@@ -133,6 +133,8 @@ Ext.define('PVE.dc.AuthEdit', { ...@@ -133,6 +133,8 @@ Ext.define('PVE.dc.AuthEdit', {
if (!me.rendered) { if (!me.rendered) {
return; return;
} }
me.down('field[name=oath_step]').setVisible(value === 'oath');
me.down('field[name=oath_digits]').setVisible(value === 'oath');
me.down('field[name=yubico_api_id]').setVisible(value === 'yubico'); me.down('field[name=yubico_api_id]').setVisible(value === 'yubico');
me.down('field[name=yubico_api_key]').setVisible(value === 'yubico'); me.down('field[name=yubico_api_key]').setVisible(value === 'yubico');
me.down('field[name=yubico_url]').setVisible(value === 'yubico'); me.down('field[name=yubico_url]').setVisible(value === 'yubico');
...@@ -140,6 +142,35 @@ Ext.define('PVE.dc.AuthEdit', { ...@@ -140,6 +142,35 @@ Ext.define('PVE.dc.AuthEdit', {
} }
}); });
column2.push({
xtype: 'numberfield',
name: 'oath_step',
value: '',
minValue: 10,
step: 1,
allowDecimals: false,
allowBlank: true,
emptyText: PVE.Utils.defaultText + ' (30)',
submitEmptyText: false,
hidden: true,
fieldLabel: 'OATH time step'
});
column2.push({
xtype: 'numberfield',
name: 'oath_digits',
value: '',
minValue: 6,
maxValue: 8,
step: 1,
allowDecimals: false,
allowBlank: true,
emptyText: PVE.Utils.defaultText + ' (6)',
submitEmptyText: false,
hidden: true,
fieldLabel: 'OATH password length'
});
column2.push({ column2.push({
xtype: 'textfield', xtype: 'textfield',
name: 'yubico_api_id', name: 'yubico_api_id',
...@@ -183,6 +214,12 @@ Ext.define('PVE.dc.AuthEdit', { ...@@ -183,6 +214,12 @@ Ext.define('PVE.dc.AuthEdit', {
if (values.tfa === 'oath') { if (values.tfa === 'oath') {
values.tfa = "type=oath"; values.tfa = "type=oath";
if (values.oath_step) {
values.tfa += ",step=" + values.oath_step;
}
if (values.oath_digits) {
values.tfa += ",digits=" + values.oath_digits;
}
} else if (values.tfa === 'yubico') { } else if (values.tfa === 'yubico') {
values.tfa = "type=yubico"; values.tfa = "type=yubico";
values.tfa += ",id=" + values.yubico_api_id; values.tfa += ",id=" + values.yubico_api_id;
...@@ -194,6 +231,8 @@ Ext.define('PVE.dc.AuthEdit', { ...@@ -194,6 +231,8 @@ Ext.define('PVE.dc.AuthEdit', {
delete values.tfa; delete values.tfa;
} }
delete values.oath_step;
delete values.oath_digits;
delete values.yubico_api_id; delete values.yubico_api_id;
delete values.yubico_api_key; delete values.yubico_api_key;
delete values.yubico_url; delete values.yubico_url;
...@@ -230,6 +269,9 @@ Ext.define('PVE.dc.AuthEdit', { ...@@ -230,6 +269,9 @@ Ext.define('PVE.dc.AuthEdit', {
data.yubico_api_key = tfacfg.key; data.yubico_api_key = tfacfg.key;
data.yubico_api_id = tfacfg.id; data.yubico_api_id = tfacfg.id;
data.yubico_url = tfacfg.url; data.yubico_url = tfacfg.url;
} else if (tfacfg.type === 'oath') {
data.oath_step = tfacfg.step;
data.oath_digits = tfacfg.digits;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment