Bonjour, j'ai deux application bien séparer.
Sur laravel, j'ai fait breeze install - api only
Sur vue.js j'ai configurer axios.
Première question, pourquoi les route d'auth sont dans Auth.php si les route via Axios passe avec le préfixe api ?
Ce qui me génère une erreur 404, car il ne passe que dans api.php
lorsque je copie colle les route de auth.php dans api.php, j'ai une erreur 500 :
POST http://localhost:8000/api/login 500
// api.php
Route::post('login', [AuthenticatedSessionController::class, 'store']);
// Http/Controllers/Auth/AuthenticatedSessionController.php
class AuthenticatedSessionController extends Controller
{
/**
* Handle an incoming authentication request.
*/
public function store(LoginRequest $request): Response
{
$request->authenticate();
$request->session()->regenerate();
return response()->noContent();
}
Je ne trouve rien sur comment connecter une app front à un back laravel façon api, si vous avez de la ressource je suis prenneur :)
Ce que je veux
Me connecter via Sanctum, et avoir une session active, et pourquoi pas utiliser la fichier auth.php pour les route comme c'est initialement prévu par Laravel.
Ce que j'obtiens
Une erreur 500
Ce qui fonctionne
J'arrive à acceder à des route du fichier api.php non protéger et avoir un retour :
import apiClient from '../auth';
const email = ref('');
const password = ref('');
const errorMessage = ref('');
const handleLogin = async () => {
try {
const response = await apiClient.get('/test');
console.log('Login successful:', response.data);
// Vous pourriez vouloir stocker le token ou rediriger l'utilisateur
errorMessage.value = '';
} catch (error) {
errorMessage.value = error.message;
console.error('Login failed:', error);
}
};
class TestController extends Controller
{
public function test ()
{
Log::debug('An informational message.');
return response()->json(['message' => 'toto']);
}
Login successful: {message: 'toto'}