मुझे "CSRF टोकन बेमेल" संदेश के साथ "419 (अज्ञात स्थिति)" त्रुटि मिलती है।

पोस्ट http://127.0.0.1:8000/login 419 (अज्ञात स्थिति)

सीएसआरएफ टोकन बेमेल।

लारवेल सर्वर : http://127.0.0.1:8000

व्यू सर्वर: http://localhost:8080

ऐप/एचटीपी/कर्नेल.php

'api' => [
    \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
    'throttle:api',
    \Illuminate\Routing\Middleware\SubstituteBindings::class,
],

ऐप/मॉडल/User.php

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;

class User extends Authenticatable
{
    use HasApiTokens, HasFactory, Notifiable;
    //...
}

Config/cors.php

<?php

return [
    'paths' => [
        'api/*',
        'sanctum/csrf-cookie',
        'register',
        'login',
    ],
    'allowed_methods' => ['*'],
    'allowed_origins' => ['*'],
    'allowed_origins_patterns' => [],
    'allowed_headers' => ['*'],
    'exposed_headers' => [],
    'max_age' => 0,
    'supports_credentials' => true,
];

.env

SESSION_DRIVER=cookie
SESSION_DOMAIN=localhost
SANCTUM_STATEFUL_DOMAINS=localhost:8080

Src/main.js

axios.interceptors.request.use((config) => {
    config.baseURL = 'http://127.0.0.1:8000'
    config.withCredentials = true

    return config
})

Src/views/auth/Login.vue

import axios from 'axios'
import { reactive } from '@vue/reactivity';

export default {
    setup() {

        const credential = reactive({
            email: '',
            password: '',
        })

        const login = async () => {
            axios.get('/sanctum/csrf-cookie').then( async () => {
                let response = await axios.post('/login', credential)
                console.log(response);
            });
        }

        return { login, credential }
    }
};
0
Ryo ID 21 अगस्त 2021, 22:22

1 उत्तर

सबसे बढ़िया उत्तर

आपका SANCTUM_STATEFUL_DOMAINS localhost:8080 पर सेट है, लेकिन बाकी कोड दिखाता है कि आप 8080 के बजाय पोर्ट 8000 पर चल रहे हैं। यदि आप इसे 8000 में बदलते हैं तो आपको सुनहरा होना चाहिए।

0
L00_Cyph3r 21 अगस्त 2021, 22:36