EverydayTech Platform - Developer Reference
Complete Source Code Documentation - All Applications
Loading...
Searching...
No Matches
debug-meshcentral-login.js
Go to the documentation of this file.
1/**
2 * Debug MeshCentral Login
3 */
4
5require('dotenv').config();
6const https = require('https');
7const querystring = require('querystring');
8
9const MESHCENTRAL_URL = process.env.MESHCENTRAL_URL || 'https://rmm-psa-meshcentral-aq48h.ondigitalocean.app';
10const MESHCENTRAL_USER = process.env.MESHCENTRAL_ADMIN_USER || 'admin';
11const MESHCENTRAL_PASSWORD = process.env.MESHCENTRAL_ADMIN_PASS || 'admin';
12
13console.log('šŸ” Debugging MeshCentral Login...\n');
14console.log(`URL: ${MESHCENTRAL_URL}`);
15console.log(`User: ${MESHCENTRAL_USER}`);
16console.log(`Pass: ${MESHCENTRAL_PASSWORD}\n`);
17
18// Extract hostname from URL
19const urlObj = new URL(MESHCENTRAL_URL);
20
21const postData = querystring.stringify({
22 action: 'login',
23 username: MESHCENTRAL_USER,
24 password: MESHCENTRAL_PASSWORD,
25 token: ''
26});
27
28const options = {
29 hostname: urlObj.hostname,
30 port: 443,
31 path: '/login',
32 method: 'POST',
33 headers: {
34 'Content-Type': 'application/x-www-form-urlencoded',
35 'Content-Length': Buffer.byteLength(postData)
36 },
37 rejectUnauthorized: false
38};
39
40console.log('šŸ“¤ Sending login request...');
41console.log(` POST ${options.hostname}/login`);
42console.log(` Data: ${postData}\n`);
43
44const req = https.request(options, (res) => {
45 console.log(`āœ… Response received:`);
46 console.log(` Status: ${res.statusCode}`);
47 console.log(` Headers:`, res.headers);
48
49 const cookies = res.headers['set-cookie'];
50 if (cookies) {
51 console.log(`\nšŸŖ Cookies:`);
52 cookies.forEach(cookie => {
53 console.log(` ${cookie.split(';')[0]}`);
54 });
55 }
56
57 let body = '';
58 res.on('data', (chunk) => {
59 body += chunk;
60 });
61
62 res.on('end', () => {
63 console.log(`\nšŸ“„ Response body (first 500 chars):`);
64 console.log(body.substring(0, 500));
65
66 if (cookies && cookies.some(c => c.includes('xid='))) {
67 console.log('\nāœ… Login appears successful (got xid cookie)');
68 } else {
69 console.log('\nāŒ Login failed (no xid cookie)');
70 }
71 });
72});
73
74req.on('error', (e) => {
75 console.error(`\nāŒ Request error: ${e.message}`);
76});
77
78req.write(postData);
79req.end();