Laravel Passport身份验证错误

Laravel Passport身份验证错误,laravel,laravel-5,vue.js,axios,laravel-passport,Laravel,Laravel 5,Vue.js,Axios,Laravel Passport,我有一个与Laravel和VueJs一起工作的应用程序。我还有一个VK机器人。Bot和Vue使用相同的API路由 对于bot,我将oauth访问令牌与next头一起使用 接受:application/json,授权:Bearer my_token_代码 机器人运行良好 对于VueJs,我使用X-CSRF-TOKEN。当我尝试从vue发送请求时,我收到一个错误 未经认证 我的路线 Route::middleware('auth:api')->group(function(){ Ro

我有一个与Laravel和VueJs一起工作的应用程序。我还有一个VK机器人。Bot和Vue使用相同的API路由

对于bot,我将oauth访问令牌与next头一起使用

接受:application/json,授权:Bearer my_token_代码

机器人运行良好

对于VueJs,我使用X-CSRF-TOKEN。当我尝试从vue发送请求时,我收到一个错误

未经认证

我的路线

Route::middleware('auth:api')->group(function(){

    Route::get('/prepare/', 'CompgenApiController@prepareDefault');

    Route::post('/replace/', 'CompgenApiController@replaceImage');

    Route::get('/replaceall/', 'CompgenApiController@replaceAllImages');

    Route::get('/collage/', 'CompgenApiController@collage'); //@todo replace to POST

    Route::get('/generate/', 'CompgenApiController@generate');

    Route::post('/upload/', 'CompgenApiController@userUpload');

    Route::post('/reupload/', 'CompgenApiController@moderationReupload');

    Route::post('/feedback/', 'CompgenApiController@feedback');

});
我的应用程序/Http/Kernel.php

protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        // \Illuminate\Session\Middleware\AuthenticateSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
        \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class
    ],

    'api' => [
        'throttle:1000,1',
        'bindings',
    ],
];
我的app.js

window.axios.defaults.headers.common = {
    'X-Requested-With': 'XMLHttpRequest',
    'X-CSRF-TOKEN' : $('meta[name="csrf-token"]').attr('content')
};

您是否将api guard提供程序更改为“passport”?在config/auth.php

上,CSRF令牌不是访问令牌,它是为了缓解问题。好的,我该如何解决我的问题?您需要在axios请求中发送授权令牌,与使用bot时发送的授权令牌相同。在axios中添加一个请求拦截器,并将令牌附加到每个出站请求。下面是Yea中的拦截器示例,但在本例中,我将在请求头中发送auth令牌。一些入侵者将能够利用这些信息入侵我的应用程序(很抱歉,我指的是驱动程序)。当您使用js或vue使用自己的API时,不应该发送任何授权头。
\Laravel\Passport\Http\Middleware\CreateFreshApiToken
中间件会在每个经过身份验证的用户请求上发送一个名为Laravel\u令牌的cookie。但是我已经添加了\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class