Use PSR-7 responses in FacebookAuthAction
authorTim Düsterhus <duesterhus@woltlab.com>
Fri, 6 Aug 2021 13:58:09 +0000 (15:58 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Wed, 11 Aug 2021 14:29:53 +0000 (16:29 +0200)
wcfsetup/install/files/lib/action/FacebookAuthAction.class.php

index 35bd06f3ed1e52c34bd56d2c0acf95d08eb89399..3d9ede13e37df846d465221c2175ca7849c1d5b4 100644 (file)
@@ -3,6 +3,7 @@
 namespace wcf\action;
 
 use GuzzleHttp\Psr7\Request;
+use Laminas\Diactoros\Response\RedirectResponse;
 use wcf\data\user\User;
 use wcf\form\RegisterForm;
 use wcf\system\event\EventHandler;
@@ -11,7 +12,6 @@ use wcf\system\request\LinkHandler;
 use wcf\system\user\authentication\event\UserLoggedIn;
 use wcf\system\user\authentication\oauth\User as OauthUser;
 use wcf\system\WCF;
-use wcf\util\HeaderUtil;
 use wcf\util\JSON;
 use wcf\util\StringUtil;
 
@@ -141,9 +141,9 @@ final class FacebookAuthAction extends AbstractOauth2Action
                     new UserLoggedIn($user)
                 );
 
-                HeaderUtil::redirect(LinkHandler::getInstance()->getLink());
-
-                exit;
+                return new RedirectResponse(
+                    LinkHandler::getInstance()->getLink()
+                );
             }
         } else {
             WCF::getSession()->register('__3rdPartyProvider', 'facebook');
@@ -154,9 +154,9 @@ final class FacebookAuthAction extends AbstractOauth2Action
 
                 WCF::getSession()->register('__oauthUser', $oauthUser);
 
-                HeaderUtil::redirect(LinkHandler::getInstance()->getLink('AccountManagement') . '#3rdParty');
-
-                exit;
+                return new RedirectResponse(
+                    LinkHandler::getInstance()->getLink('AccountManagement') . '#3rdParty'
+                );
             } else {
                 // This account does not belong to anyone and we are not logged in.
                 // Thus we want to connect this account to a newly registered user.
@@ -170,9 +170,10 @@ final class FacebookAuthAction extends AbstractOauth2Action
                 WCF::getSession()->register('noRegistrationCaptcha', true);
 
                 WCF::getSession()->update();
-                HeaderUtil::redirect(LinkHandler::getInstance()->getControllerLink(RegisterForm::class));
 
-                exit;
+                return new RedirectResponse(
+                    LinkHandler::getInstance()->getControllerLink(RegisterForm::class)
+                );
             }
         }
     }