diff options
author | Matthew Somerville <matthew@mysociety.org> | 2019-11-05 13:48:00 +0000 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2019-12-09 12:48:13 +0000 |
commit | 440c33c1c41dab2df8786ce43141ff12c59eb6ac (patch) | |
tree | 97ef61f50654b4e67e4c4a232eb2f7c6eeedae60 /perllib/FixMyStreet/App/Controller/Auth.pm | |
parent | 1fd8b6c22d7dcb97e8475ae1332af40b4ccc2f81 (diff) |
Allow cobrands to skip 2FA requirement.
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/Auth.pm')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Auth.pm | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Auth.pm b/perllib/FixMyStreet/App/Controller/Auth.pm index 6badbf518..cecfa318c 100644 --- a/perllib/FixMyStreet/App/Controller/Auth.pm +++ b/perllib/FixMyStreet/App/Controller/Auth.pm @@ -277,10 +277,13 @@ sub process_login : Private { if FixMyStreet->config('SIGNUPS_DISABLED') && !$user->in_storage && !$data->{old_user_id}; # People using 2FA need to supply a code - if ($user->has_2fa) { - $c->forward( 'token_2fa', [ $user, $url_token ] ); - } elsif ($c->cobrand->call_hook('must_have_2fa', $user)) { - $c->forward( 'signup_2fa', [ $user ] ); + my $must_have_2fa = $c->cobrand->call_hook('must_have_2fa', $user) || ''; + if ($must_have_2fa ne 'skip') { + if ($user->has_2fa) { + $c->forward( 'token_2fa', [ $user, $url_token ] ); + } elsif ($c->cobrand->call_hook('must_have_2fa', $user)) { + $c->forward( 'signup_2fa', [ $user ] ); + } } if ($data->{old_user_id}) { |