Я использую 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)
}
}
}
console.log
/print
и найдите, какой из них находится рядом с вызовом ошибки. - person kissu   schedule 04.06.2021nuxt.config.js
и как вы его создаете? - person kissu   schedule 04.06.2021