From: Wolfgang Bumiller Date: Thu, 11 Apr 2019 09:31:58 +0000 (+0200) Subject: store the tfa type in user.cfg X-Git-Url: https://git.proxmox.com/?p=pve-access-control.git;a=commitdiff_plain;h=7e58c66de2b9e0dbf8764420762f9812d0c6f96a store the tfa type in user.cfg This allows some improvements to the user experience on the web ui. Signed-off-by: Wolfgang Bumiller --- diff --git a/PVE/AccessControl.pm b/PVE/AccessControl.pm index bec962f..de353b1 100644 --- a/PVE/AccessControl.pm +++ b/PVE/AccessControl.pm @@ -1434,7 +1434,7 @@ sub user_set_tfa { $tfa->{data} = $data; cfs_write_file('priv/tfa.cfg', $tfa_cfg); - $user->{keys} = 'x'; + $user->{keys} = "x!$type"; } else { delete $tfa_cfg->{users}->{$userid}; cfs_write_file('priv/tfa.cfg', $tfa_cfg); @@ -1463,7 +1463,8 @@ sub user_get_tfa { $realm_tfa = PVE::Auth::Plugin::parse_tfa_config($realm_tfa) if $realm_tfa; - if ($keys ne 'x') { + # new style config starts with an 'x' and optionally contains a ! suffix + if ($keys != /^x(?:!.*)?$/) { # old style config, find the type via the realm return if !$realm_tfa; return ($realm_tfa->{type}, {