Laravel中间件在生产服务器中从子目录返回未经身份验证的对象

问题描述 投票:0回答:1

我正在发送API请求以获取登录后的用户详细信息我有一个仅在其中运行API的项目,我将此项目放置在名称为api的子目录中。因此前端运行在内置于react JS的根目录上。

而且,由于不想调用domain.com/api/api],我从RouteServiceProvider中删除了API前缀>

路线:

Route::group(['namespace' => 'Auth'], function(){
    ...

    Route::post('login','LoginController@login'); // Running successfully
    Route::middleware('auth:api')->get('/user', 'LoginController@user'); // Returning 401 unauthenticated
});

RouteServiceProvider

protected function mapApiRoutes()
    {
        Route::middleware('api')
            ->as('api.')
            ->namespace($this->namespace."\\API")
            ->group(base_path('routes/api.php'));
    }

已尝试的解决方案

1)我已将Passport::withoutCookieSerialization();放在boot中的AppServiceProvider方法内>

2)我已将Passport::$ignoreCsrfToken = true;放在boot中的AuthServiceProvider方法中>

提前感谢

我在登录后发送API请求以获取用户详细信息,我有一个仅运行API的项目,我将该项目放置在名称为api的子目录中。因此前端在...

我自己找到了解决方案。

我已将这些行添加到Laravel项目(非公共)的根目录下的.htaccess文件中。

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
laravel api laravel-5 laravel-5.6 laravel-middleware
1个回答
0
投票

我自己找到了解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.