aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2021-11-17 18:42:21 +0100
committerChristoph Wurst <christoph@winzerhof-wurst.at>2021-11-17 18:42:21 +0100
commitc8caba265fcb5a8c533aa726f9971b1f5b234cc9 (patch)
treec6870935dc99f933e69bb1ed48866cb22bd36971
parent0a82d2ea3aba7f9f4b25c549f5a83f40dbbb894c (diff)
downloadnextcloud-server-c8caba265fcb5a8c533aa726f9971b1f5b234cc9.tar.gz
nextcloud-server-c8caba265fcb5a8c533aa726f9971b1f5b234cc9.zip
Explicitly allow some routes without 2FA
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
-rw-r--r--core/Controller/OCJSController.php1
-rw-r--r--core/Middleware/TwoFactorMiddleware.php6
2 files changed, 7 insertions, 0 deletions
diff --git a/core/Controller/OCJSController.php b/core/Controller/OCJSController.php
index 71f0941b46c..379b08bf22e 100644
--- a/core/Controller/OCJSController.php
+++ b/core/Controller/OCJSController.php
@@ -98,6 +98,7 @@ class OCJSController extends Controller {
/**
* @NoCSRFRequired
+ * @NoTwoFactorRequired
* @PublicPage
*
* @return DataDisplayResponse
diff --git a/core/Middleware/TwoFactorMiddleware.php b/core/Middleware/TwoFactorMiddleware.php
index fbdb106b7bb..4c13a99a1aa 100644
--- a/core/Middleware/TwoFactorMiddleware.php
+++ b/core/Middleware/TwoFactorMiddleware.php
@@ -83,6 +83,12 @@ class TwoFactorMiddleware extends Middleware {
* @param string $methodName
*/
public function beforeController($controller, $methodName) {
+ if ($this->reflector->hasAnnotation('NoTwoFactorRequired')) {
+ // Route handler explicitly marked to work without finished 2FA are
+ // not blocked
+ return;
+ }
+
if ($controller instanceof APIController && $methodName === 'poll') {
// Allow polling the twofactor nextcloud notifications state
return;