ESP32 Webserver met Authenticatie Voorbeeld
ESP32 - Webserver met Basic Authentication
Dit voorbeeld laat zien hoe u een beveiligde webserver maakt met HTTP Basic Authentication op ESP32 met behulp van de DIYables_ESP32_WebServer bibliotheek.
Benodigde hardware
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Gedemonstreerde functies
- ✅ HTTP Basic Authentication
- ✅ Bescherming met gebruikersnaam en wachtwoord
- ✅ Loginvensters die door de browser worden weergegeven
- ✅ Veilige toegang tot de server
- ✅ Eenvoudige authenticatieconfiguratie
- ✅ Achterwaartse compatibiliteit (authenticatie optioneel)
Schema
Er is geen extra bedrading nodig - dit voorbeeld gebruikt alleen de ingebouwde LED en WiFi-functionaliteit van de ESP32.
Codevoorbeeld
Hoe het werkt
1. Authenticatieconfiguratie
Het voorbeeld zet HTTP Basic Authentication aan met:
2. Automatische bescherming
Zodra authenticatie is ingeschakeld, zijn alle routes automatisch beveiligd. Gebruikers moeten geldige inloggegevens invullen om een pagina te kunnen bezoeken.
3. Browserintegratie
Wanneer gebruikers de webserver bezoeken:
- De browser toont een inlogvenster
- Gebruiker voert gebruikersnaam en wachtwoord in
- Bij succes: pagina wordt normaal geladen
- Bij mislukking: 401 Unauthorized pagina wordt getoond
4. Opslag van inloggegevens
Browsers bewaren de inloggegevens voor de sessie, zodat gebruikers niet steeds opnieuw hoeven in te loggen.
Beveiligingsoverwegingen
✅ Geschikt voor:
- Thuisnetwerken en vertrouwde omgevingen
- Interne IoT-apparaten
- Ontwikkeling en prototyping
- Educatieve projecten
⚠️ Beperkingen:
- Inloggegevens worden Base64-gecodeerd verzonden, niet versleuteld
- Geen HTTPS-ondersteuning (beperking ESP32 platform)
- Enkelvoudige gebruikersnaam/wachtwoord combinatie
- Niet geschikt voor productie op openbare netwerken
🔒 Beste praktijken:
- Wijzig standaard wachtwoorden direct na installatie
- Gebruik alleen in vertrouwde netwerken
- Overweeg extra netwerkbeveiliging (VPN, firewall)
- Voor hoge beveiliging extra authenticatielaag toevoegen
Authenticatie testen
- Upload de code naar uw ESP32
- Open de Serial Monitor om het IP-adres te zien
- Bezoek het IP-adres in uw webbrowser
- Loginvenster verschijnt - voer inloggegevens in:
- Gebruikersnaam: admin
- Wachtwoord: esp32
- Succespagina verschijnt na correcte authenticatie
Aanpassingsopties
Wijzig inloggegevens
Aangepast realm (weergave naam in loginvenster)
Authenticatie uitschakelen
Controleer authenticatiestatus
Achterwaartse compatibiliteit
Authenticatie is standaard uitgeschakeld, waardoor bestaande code blijft werken zonder aanpassingen. Schakel authenticatie alleen in indien gewenst:
Probleemoplossing
Browser vraagt steeds om inloggegevens
- Controleer gebruikersnaam/wachtwoord op tikfouten
- Wis browsercache en cookies
- Verifieer of inloggegevens exact overeenkomen
Geen toegang tot pagina’s
- Authenticatie beveiligt ALLE routes wanneer ingeschakeld
- Gebruik server.disableAuthentication() om te testen
- Controleer de Serial Monitor op authenticatiemeldingen
Authenticatie werkt niet
- Zorg dat enableAuthentication() ná server.begin() wordt aangeroepen
- Controleer of gebruikersnaam en wachtwoord niet langer zijn dan 31 tekens
- Let op speciale tekens in wachtwoorden
Gerelateerde voorbeelden
- Webserver voorbeeld - Eenvoudige meerpagina webserver
- Webserver met query strings - Dynamische inhoud met parameters
- Webserver met WebSocket - Real-time communicatie
Referenties
- Authenticatie documentatie - Complete authenticatie handleiding
- DIYables_ESP32_WebServer bibliotheek referentie - Volledige API documentatie