Browse Source

Allow "TwoFactor Nextcloud Notifications" to pull the state of the 2FA again

Signed-off-by: Joas Schilling <coding@schilljs.com>
Joas Schilling 2 years ago
parent
commit
3710eca104
2 changed files with 7 additions and 0 deletions
  1. 6 0
      core/Middleware/TwoFactorMiddleware.php
  2. 1 0
      psalm.xml

+ 6 - 0
core/Middleware/TwoFactorMiddleware.php

@@ -31,6 +31,7 @@ use OC\Authentication\TwoFactorAuth\Manager;
 use OC\Core\Controller\LoginController;
 use OC\Core\Controller\TwoFactorChallengeController;
 use OC\User\Session;
+use OCA\TwoFactorNextcloudNotification\Controller\APIController;
 use OCP\AppFramework\Controller;
 use OCP\AppFramework\Http\RedirectResponse;
 use OCP\AppFramework\Middleware;
@@ -82,6 +83,11 @@ class TwoFactorMiddleware extends Middleware {
 	 * @param string $methodName
 	 */
 	public function beforeController($controller, $methodName) {
+		if ($controller instanceof APIController && $methodName === 'poll') {
+			// Allow polling the twofactor nextcloud notifications state
+			return;
+		}
+
 		if ($controller instanceof TwoFactorChallengeController
 			&& $this->userSession->getUser() !== null
 			&& !$this->reflector->hasAnnotation('TwoFactorSetUpDoneRequired')) {

+ 1 - 0
psalm.xml

@@ -80,6 +80,7 @@
 		<UndefinedClass>
 			<errorLevel type="suppress">
 				<referencedClass name="OCA\GroupFolders\Mount\GroupFolderStorage"/>
+				<referencedClass name="OCA\TwoFactorNextcloudNotification\Controller\APIController"/>
 			</errorLevel>
 		</UndefinedClass>
 		<UndefinedFunction>