X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=PVE%2FAccessControl.pm;h=de353b1bf139ada2573c717b0d40980b419a0fe5;hb=7e58c66de2b9e0dbf8764420762f9812d0c6f96a;hp=bec962f752d1f9fcf361a0e6e51ac4e8cac17509;hpb=9fbad0120798cd884a16aa034c0d14829e13a135;p=pve-access-control.git 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}, {