亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

解決Slim 4身份驗(yàn)證中間件的重定向問題
P粉949848849
P粉949848849 2023-08-13 12:04:52
0
1
735
<p>我正在嘗試使用中間件將未經(jīng)身份驗(yàn)證的用戶重定向到Google API身份驗(yàn)證。 如果我直接訪問身份驗(yàn)證系統(tǒng)(通過訪問/auth路由),Google部分可以工作,并且用戶會(huì)被發(fā)送到我的主頁(yè)。但是,如果我訪問受中間件保護(hù)的頁(yè)面,我會(huì)得到一個(gè)空白頁(yè)面。</p><p> 這是我的中間件:</p> <pre class="brush:php;toolbar:false;"><?php declare(strict_types=1); namespace AppMiddleware; use SlimPsr7Response; use PsrHttpMessageServerRequestInterface as Request; use PsrHttpServerRequestHandlerInterface as RequestHandler; class Auth { public function __invoke(Request $request, RequestHandler $handler): Response { if (!isset($_SESSION['access_token'])) { $response = new Response(); $response->withHeader('Location', '/auth')->withStatus(302); } else { $response = $handler->handle($request); } return $response; } }</pre> <p>由于Google部分可以工作,問題肯定在我的中間件中,對(duì)嗎?這也意味著中間件的else部分是起作用的。 有什么建議嗎?</p><p> TIA</p>
P粉949848849
P粉949848849

全部回覆(1)
P粉278379495

原來是因?yàn)槲覍戇@段程式碼的時(shí)候還沒有喝足夠的咖啡。 我忘記將變異的反應(yīng)設(shè)定為一個(gè)變數(shù)。
在我的if語(yǔ)句內(nèi)應(yīng)該是:

#
$response = new Response();                                                                                                                                                                                                                    
        $response = $response->withHeader('Location', '/auth')->withStatus(302);

第二行的 "$response =" 是我遺漏的部分。
希望這對(duì)其他人有幫助。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板