首頁  >  問答  >  主體

Laravel auth:api 中間件不適用於新建的路由文件

<p>我有一個使用 Laravel 7 的 Web 應用程式。在該應用程式上,我最近在名為<code>api/v2</code> 的資料夾下建立了一個新的api.php 檔案(<code>routes/api/v2/api .php< /code>)。我面臨的問題是,在新建立的 api.php 檔案 'auth:api' 中間件無法運作。 </p> <p>我檢查了請求標頭,發現這些路由的 <code>authorization</code> 標頭為空。對於舊的路由文件,一切正常。 </p> <p>我已經在 RouteServiceProvider.php 中註冊了新的 api 文件,如下所示</p> <pre class="brush:php;toolbar:false;">Route::prefix('api/v2') ->middleware('api') ->namespace($this->namespace) ->group(base_path('routes/api/v2/api.php'));</pre> <p>除了身份驗證問題外,所有路由都工作正常,沒有任何問題。由於我無法在控制器內呼叫 '$request->user()' 方法。 </p> <p>PS:我使用的是 apache 2.4 </p> <p>有人知道為什麼會發生這種情況嗎? </p>
P粉983021177P粉983021177437 天前409

全部回覆(1)我來回復

  • P粉466290133

    P粉4662901332023-09-02 11:47:34

    可以分享一下你的路線檔案嗎?這是我嘗試做的同樣有效的事情:

    protected function mapAdminApiRoutes()
    {
        Route::prefix('api/admin')
             ->middleware(['api','jwt.verify','role:admin'])
             ->namespace($this->namespace.'\Admin')
             ->group(base_path('routes/admin-api.php'));
    }

    回覆
    0
  • 取消回覆