mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
* update examples * fix serial<->tcp example, use STASSID instead of SSID (name collision) * fix HTTPSRequest.ino * update AxTLS HTTPS examples, update AxTLS API to deprecated * fixes * fixes + fix astyle (no preproc directives) + restyling script * fix HTTPClient library * fixes * common.sh: do not reload arduino when already present (for locally CI testing) * common.sh: do not reload ArduinoJson when already present (for locally CI testing) * fix * fix * fix deprecated example * fix WiFiHTTPSServer.ino * reduce footprint * wipfix * fix led builtin * fix example * finished updating APSSID on all examples * style * restyle examples * helper to run CI test locally * local CI runner more verbose * +const * deprecation deprecation * deprecation * Update NTPClient.ino const char[] => const char * * Update interactive.ino const char[] => const char *
65 lines
1.9 KiB
C++
65 lines
1.9 KiB
C++
/*
|
|
HTTP Advanced Authentication example
|
|
Created Mar 16, 2017 by Ahmed El-Sharnoby.
|
|
This example code is in the public domain.
|
|
*/
|
|
|
|
#include <ESP8266WiFi.h>
|
|
#include <ESP8266mDNS.h>
|
|
#include <ArduinoOTA.h>
|
|
#include <ESP8266WebServer.h>
|
|
|
|
#ifndef STASSID
|
|
#define STASSID "your-ssid"
|
|
#define STAPSK "your-password"
|
|
#endif
|
|
|
|
const char* ssid = STASSID;
|
|
const char* password = STAPSK;
|
|
|
|
ESP8266WebServer server(80);
|
|
|
|
const char* www_username = "admin";
|
|
const char* www_password = "esp8266";
|
|
// 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();
|
|
}
|