Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-09-19 14:05:32 +0300
committerThomas Müller <thomas.mueller@tmit.eu>2016-09-19 14:06:27 +0300
commit85f45d4bc5929b6e789833bb31b4a841cd5f06e2 (patch)
tree3de532b0a21158174eb0b56a7f800fbe6236a3b3 /core
parentaed4ee9f81aabdcc6c583321182a8ec6623b8c38 (diff)
[stable9.1] Redirect to challenge page when only one 2FA provider (#26141)
If only one two factor provider exists, spare the user from having to select it and redirect directly to its challenge page.
Diffstat (limited to 'core')
-rw-r--r--core/Controller/TwoFactorChallengeController.php13
1 files changed, 13 insertions, 0 deletions
diff --git a/core/Controller/TwoFactorChallengeController.php b/core/Controller/TwoFactorChallengeController.php
index edaf3378cd8..1e2652c0185 100644
--- a/core/Controller/TwoFactorChallengeController.php
+++ b/core/Controller/TwoFactorChallengeController.php
@@ -78,6 +78,19 @@ class TwoFactorChallengeController extends Controller {
public function selectChallenge($redirect_url) {
$user = $this->userSession->getUser();
$providers = $this->twoFactorManager->getProviders($user);
+ if (count($providers) === 1) {
+ // redirect to the challenge page
+ $provider = current($providers);
+ return new RedirectResponse(
+ $this->urlGenerator->linkToRoute(
+ 'core.TwoFactorChallenge.showChallenge',
+ [
+ 'challengeProviderId' => $provider->getId(),
+ 'redirect_url' => $redirect_url,
+ ]
+ )
+ );
+ }
$data = [
'providers' => $providers,