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 install
npm start
npm run dev
The 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/