A comprehensive Node.js server with NTLM authentication for testing NTLM clients like ThunderClient, Postman, and curl.
- ✅ NTLM authentication with predefined test credentials
- 🔍 Detailed step-by-step authentication logging
- 🛡️ Credential validation with test users
- 🌐 Multiple test endpoints (protected and public)
- 🏥 Health check endpoint (no authentication required)
- 🔧 Enhanced error handling and debugging
- 🌍 CORS enabled for cross-origin requests
- 📊 Comprehensive API responses with user information
npm installnpm startnpm run devThe server will start on http://localhost:3000
The server includes the following test credentials for authentication:
| Username | Password | Domain | Status |
|---|---|---|---|
| testuser | testpass | TESTDOMAIN | ✅ Active |
| admin | password123 | TESTDOMAIN | ✅ Active |
| john.doe | secret456 | TESTDOMAIN | ✅ Active |
| alice | alice123 | TESTDOMAIN | ✅ Active |
Note: These are test credentials only. The server validates these credentials during NTLM authentication.
GET /health- Health check endpoint, returns server status
GET /- Root endpoint, returns user info after successful authentication
-
Set up NTLM Authentication:
- Open ThunderClient in VS Code
- Create a new request
- Set URL to
http://localhost:3000 - Go to "Auth" tab
- Select "NTLM" as authentication type
- Enter credentials (e.g.,
testuser/testpass) - Set domain to
TESTDOMAIN
-
Test the endpoints:
GET http://localhost:3000/health (No auth required) GET http://localhost:3000/ (Requires NTLM auth)
# This will show the NTLM handshake steps
curl -v --ntlm -u testuser:testpass http://localhost:3000/