validate([ 'username' => ['required', 'string'], 'password' => ['required', 'string'], ]); $cliente = Cliente::where('username', $data['username'])->first(); if (! $cliente || ! $cliente->password || ! password_verify($data['password'], $cliente->password)) { return response()->json([ 'message' => 'Nome utente o password non validi.', ], 401); } $giorni = (int) config('preventivi.configurator_session_days', 30); $token = $cliente->createToken('configuratore', ['*'], now()->addDays($giorni)); return response()->json([ 'token' => $token->plainTextToken, 'expires_at' => $token->accessToken->expires_at, 'cliente' => [ 'id' => $cliente->id, 'username' => $cliente->username, 'nominativo' => $cliente->nominativo, ], ]); } /** * GET /api/auth/me * Verifica che il token del configuratore sia ancora valido e restituisce i dati * anagrafici del cliente, usati per precompilare il form di richiesta preventivo. */ public function me(Request $request): JsonResponse { $cliente = $request->user(); return response()->json([ 'cliente' => [ 'id' => $cliente->id, 'username' => $cliente->username, 'nominativo' => $cliente->nominativo, 'nome' => $cliente->nome, 'cognome' => $cliente->cognome, 'ragione_sociale' => $cliente->ragione_sociale, 'email' => $cliente->email, 'telefono' => $cliente->telefono, 'indirizzo' => $cliente->indirizzo, 'cap' => $cliente->cap, 'citta' => $cliente->citta, 'provincia' => $cliente->provincia, 'note' => $cliente->note, ], ]); } }