Пользователь Nuxt-Laravel-Sanctum не прошел аутентификацию после входа в систему ИЛИ Ошибка: маршрут [логин] не определен

Я использую Nuxt-Laravel-Sanctum.

При размещении на localhost как для API, так и для клиента попытка входа в систему прошла успешно, и ответ пользователя возвращается.

Но после загрузки на сервер (api: api.repairtofix.com и клиент: admin-control.repairtofix.com) кажется, что вход выполнен успешно, но данные пользователя не возвращаются. Я получаю ошибку с 401 {message: "Unauthenticated."}

т.е. На npm run dev работает, а после npm run generate не работает

nuxt.config.js

axios: {
    credentials: true
},
auth: {
strategies: {
    'laravelSanctum': {
        provider: 'laravel/sanctum',
        url: 'https://api.repairtofix.com',
        endpoints: {
            login: {
                url: '/api/login',
            },
        },
    }
}

},

LoginController.php

public function __invoke(Request $request)
{
    $credentials = $request->only('email', 'password');
    if(!auth()->attempt($credentials)){
        throw AuthenticationException();
    }
}

api.php

use App\Http\Controllers\Auth\LoginController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});

Route::post('/login', LoginController::class);

cors.php

"Accept"=>"application/json",

'paths' => ['api/*', '/user', 'sanctum/csrf-cookie'],

'allowed_methods' => ['*'],

'allowed_origins' => ['*'],

'allowed_origins_patterns' => [],

'allowed_headers' => ['*'],

'exposed_headers' => [],

'max_age' => 0,

'supports_credentials' => true,

.env

SESSION_DOMAIN=.repairtofix.com
SANTUM_STATEFUL_DOMAINS=admin-control.repairtofix.com

Логин.vue

data() {
    return {
        login: {
            email: '[email protected]',
            password: 'password'
        }
    }
},
 
methods: {
    
    async userLogin() {
        try {
            let response = await this.$auth.loginWith('laravelSanctum', { data: this.login })
            console.log(response)
        } catch (err) {
            console.log(err)
        }
    }
}

Сообщение об ошибке получено на вкладке

введите здесь описание изображения


person Code Flow    schedule 04.06.2021    source источник
comment
Когда/где у вас эта ошибка?   -  person kissu    schedule 04.06.2021
comment
Я столкнулся с этой ошибкой 6 дней назад и сейчас тестирую. Ошибка возникает при нажатии кнопки входа в систему. ошибку можно увидеть на странице admin-control.repairtofix.com/login.   -  person Code Flow    schedule 04.06.2021
comment
Где он появляется в коде?   -  person kissu    schedule 04.06.2021
comment
Извините, я не знаю, как отладить, где это происходит   -  person Code Flow    schedule 04.06.2021
comment
Попробуйте несколько console.log/print и найдите, какой из них находится рядом с вызовом ошибки.   -  person kissu    schedule 04.06.2021
comment
В сборке разработки он работает, ошибка возникает после создания производственной сборки   -  person Code Flow    schedule 04.06.2021
comment
Хм, не уверен, что это как-то связано. Каков ваш nuxt.config.js и как вы его создаете?   -  person kissu    schedule 04.06.2021


Ответы (1)


я нашел решение

В файле sanctum.php я забыл добавить свои домены. После добавления я получил ответ от /user

person Code Flow    schedule 04.06.2021