// Test Login Script for Laravel Tinker // Run with: php artisan tinker < test_tinker.php $email = 'epsone@blackcarride.com'; $password = '12345678'; echo "\n========================================\n"; echo "Testing Login for: $email\n"; echo "========================================\n\n"; // Find user with tenant relationship $user = App\Models\User::where('email', $email)->with('tenantModel')->first(); if (!$user) { echo "❌ User not found!\n"; exit(1); } echo "✅ User found!\n"; echo "───────────────────────────────────────\n"; echo "ID: {$user->id}\n"; echo "Name: {$user->name}\n"; echo "Email: {$user->email}\n"; echo "Role: {$user->role}\n"; echo "Tenant ID: " . ($user->tenant_id ?? 'NULL') . "\n"; // Check tenant relationship if ($user->tenantModel) { echo "\n✅ Tenant Relationship Found!\n"; echo "───────────────────────────────────────\n"; echo "Tenant ID: {$user->tenantModel->id}\n"; echo "Tenant Name: {$user->tenantModel->name}\n"; echo "Tenant Slug: {$user->tenantModel->slug}\n"; } else { echo "\n⚠️ No tenant relationship (tenant_id is null or no matching tenant)\n"; } // Check password $passwordValid = \Illuminate\Support\Facades\Hash::check($password, $user->password_hash); if ($passwordValid) { echo "\n✅ Password is valid!\n"; } else { echo "\n❌ Password is INVALID!\n"; } // Generate JWT Token try { $token = \Tymon\JWTAuth\Facades\JWTAuth::fromUser($user); echo "\n✅ JWT Token Generated!\n"; echo "───────────────────────────────────────\n"; echo "Token Length: " . strlen($token) . " chars\n"; echo "Token: " . substr($token, 0, 50) . "...\n"; // Decode claims $decoded = \Tymon\JWTAuth\Facades\JWTAuth::decode($token); echo "\nJWT Claims:\n"; echo json_encode((array)$decoded, JSON_PRETTY_PRINT) . "\n"; } catch (\Exception $e) { echo "\n❌ Error: {$e->getMessage()}\n"; } echo "\n========================================\n"; echo "✅ Test completed!\n"; echo "========================================\n";