mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-10-31 06:01:39 +01:00 
			
		
		
		
	
		
			
	
	
		
			60 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Arduino
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Arduino
		
	
	
	
	
	
|   | /*
 | ||
|  |   HTTP Advanced Authentication example | ||
|  |   Created Mar 16, 2017 by Ahmed El-Sharnoby. | ||
|  |   This example code is in the public domain. | ||
|  | */ | ||
|  | 
 | ||
|  | #include <WiFi.h>
 | ||
|  | #include <ESPmDNS.h>
 | ||
|  | #include <ArduinoOTA.h>
 | ||
|  | #include <WebServer.h>
 | ||
|  | 
 | ||
|  | const char* ssid = "........"; | ||
|  | const char* password = "........"; | ||
|  | 
 | ||
|  | WebServer server(80); | ||
|  | 
 | ||
|  | const char* www_username = "admin"; | ||
|  | const char* www_password = "esp32"; | ||
|  | // allows you to set the realm of authentication Default:"Login Required"
 | ||
|  | const char* www_realm = "Custom Auth Realm"; | ||
|  | // the Content of the HTML response in case of Unautherized Access Default:empty
 | ||
|  | String authFailResponse = "Authentication Failed"; | ||
|  | 
 | ||
|  | void setup() { | ||
|  |   Serial.begin(115200); | ||
|  |   WiFi.mode(WIFI_STA); | ||
|  |   WiFi.begin(ssid, password); | ||
|  |   if (WiFi.waitForConnectResult() != WL_CONNECTED) { | ||
|  |     Serial.println("WiFi Connect Failed! Rebooting..."); | ||
|  |     delay(1000); | ||
|  |     ESP.restart(); | ||
|  |   } | ||
|  |   ArduinoOTA.begin(); | ||
|  | 
 | ||
|  |   server.on("/", []() { | ||
|  |     if (!server.authenticate(www_username, www_password)) | ||
|  |       //Basic Auth Method with Custom realm and Failure Response
 | ||
|  |       //return server.requestAuthentication(BASIC_AUTH, www_realm, authFailResponse);
 | ||
|  |       //Digest Auth Method with realm="Login Required" and empty Failure Response
 | ||
|  |       //return server.requestAuthentication(DIGEST_AUTH);
 | ||
|  |       //Digest Auth Method with Custom realm and empty Failure Response
 | ||
|  |       //return server.requestAuthentication(DIGEST_AUTH, www_realm);
 | ||
|  |       //Digest Auth Method with Custom realm and Failure Response
 | ||
|  |     { | ||
|  |       return server.requestAuthentication(DIGEST_AUTH, www_realm, authFailResponse); | ||
|  |     } | ||
|  |     server.send(200, "text/plain", "Login OK"); | ||
|  |   }); | ||
|  |   server.begin(); | ||
|  | 
 | ||
|  |   Serial.print("Open http://"); | ||
|  |   Serial.print(WiFi.localIP()); | ||
|  |   Serial.println("/ in your browser to see it working"); | ||
|  | } | ||
|  | 
 | ||
|  | void loop() { | ||
|  |   ArduinoOTA.handle(); | ||
|  |   server.handleClient(); | ||
|  | } |