Laravel Spark 6.0 Ajax запрос не прошел проверку подлинности - PullRequest
0 голосов
/ 09 мая 2018

Я создаю приложение из ванильной установки Spark 6.0. Я могу войти в систему, получить доступ к киоску и нажать вокруг.

Я создал новый раздел Card с формой и использую объект SparkForm в соответствии с указаниями документации ; однако каждый запрос возвращается не прошедшим проверку подлинности, и поэтому я должен повторно войти.

Я не могу получить запрос ajax для аутентификации. Я создал отдельный adminApi для обработки ajax-запроса администратора, который защищен промежуточным программным обеспечением auth / dev / web.

Любые идеи / указатели высоко ценятся.

Код восстановления:

RouteServiceProvider:

public function map(Router $router)
{
    $this->mapWebRoutes($router);

    $this->mapApiRoutes($router);

    $this->mapAdminApiRoutes($router);

    //
}
...
protected function mapAdminApiRoutes(Router $router)
{
    $router->group([
        'namespace' => $this->namespace,
        'middleware' => ['dev', 'auth', 'web'],
        'prefix' => 'admin/api',
    ], function ($router) {
        require base_path('routes/adminApi.php');
    });
}

маршруты / adminApi.php * * 1016

Route::resource('/insurers', 'Admin\InsurersController');

компонент vue - insurers.js

var base = require('kiosk/users');

Vue.component('spark-kiosk-insurers', {
    mixins: [base],
    data: function() {
        return {
            showingInsurerProfile: false,
            form: new SparkForm({
                name: '',
                email:'',
                logo:''
            })
        }
    },
    props: {
        insurer: {}
    },
    methods: {
        search: function() {

        },
        create: function() {
            Spark.post('/admin/api/insurers', this.form)
            .then(response => {
                console.log(response);
            });
        },

    }
});

1 Ответ

0 голосов
/ 09 мая 2018

Добавьте токен CSRF в форму как

<meta name="csrf-token" content="{{ csrf_token() }}">

Затем добавьте следующее к вашему запросу:

headers: {
 'X-CSRF-TOKEN': 'Token Here' // from meta

}

...