Add Authentication session setting in EEPROM/Preferences

Update ESP420 to show if authentication is enabled
This commit is contained in:
Luc 2020-10-10 17:11:08 +02:00
parent 225db55f64
commit 694f502fb0
7 changed files with 45 additions and 2 deletions

View File

@ -191,6 +191,17 @@ bool Commands::ESP400(const char* cmd_params, level_authenticate_type auth_type,
output->print ("\",\"H\":\"user pwd\",\"M\":\"");
output->print (Settings_ESP3D::get_min_string_size(ESP_USER_PWD));
output->print ("\"}");
//session timeout
output->print (",{\"F\":\"security/security\",\"P\":\"");
output->print (ESP_SESSION_TIMEOUT);
output->print ("\",\"T\":\"B\",\"V\":\"");
output->print (Settings_ESP3D::read_byte(ESP_SESSION_TIMEOUT));
output->print ("\",\"S\":\"");
output->print (Settings_ESP3D::get_max_byte(ESP_SESSION_TIMEOUT));
output->print ("\",\"H\":\"session timeout\",\"M\":\"");
output->print (Settings_ESP3D::get_min_byte(ESP_SESSION_TIMEOUT));
output->print ("\"}");
#endif //AUTHENTICATION_FEATURE
#ifdef HTTP_FEATURE

View File

@ -76,6 +76,11 @@ bool Commands::ESP401(const char* cmd_params, level_authenticate_type auth_type,
case ESP_TARGET_FW:
Settings_ESP3D::GetFirmwareTarget(true);
break;
#ifdef AUTHENTICATION_FEATURE
case ESP_SESSION_TIMEOUT:
AuthenticationService::setSessionTimeout(1000*60*sval.toInt());
break;
#endif //AUTHENTICATION_FEATURE
#ifdef SD_DEVICE
case ESP_SD_DEVICE_TYPE:
Settings_ESP3D::GetSDDevice(true);

View File

@ -1134,6 +1134,23 @@ bool Commands::ESP420(const char* cmd_params, level_authenticate_type auth_type,
} else {
output->printLN("");
}
#if defined (AUTHENTICATION_FEATURE)
if (!plain) {
output->print (",{\"id\":\"");
}
output->print ("authentication");
if (!plain) {
output->print ("\",\"value\":\"");
} else {
output->print (": ");
}
output->print ("ON");
if (!plain) {
output->print ("\"}");
} else {
output->printLN("");
}
#endif //AUTHENTICATION_FEATURE
#if defined (NOTIFICATION_FEATURE)
if (!plain) {
output->print (",{\"id\":\"");

View File

@ -135,6 +135,7 @@
#define DEFAULT_BOOT_DELAY 10000L
#define DEFAULT_CALIBRATION_VALUE 0
#define DEFAULT_CALIBRATION_DONE 0
#define DEFAULT_SESSION_TIMEOUT 3
#ifdef WIFI_FEATURE
//default string values
@ -235,6 +236,11 @@ uint8_t Settings_ESP3D::get_default_byte_value(int pos)
case ESP_RADIO_MODE:
res = DEFAULT_ESP_RADIO_MODE;
break;
#ifdef AUTHENTICATION_FEATURE
case ESP_SESSION_TIMEOUT:
res = DEFAULT_SESSION_TIMEOUT;
break;
#endif //AUTHENTICATION_FEATURE
#ifdef TIMESTAMP_FEATURE
case ESP_INTERNET_TIME:
res = DEFAULT_INTERNET_TIME;
@ -1143,6 +1149,8 @@ bool Settings_ESP3D::reset()
Settings_ESP3D::write_string(ESP_ADMIN_PWD,Settings_ESP3D::get_default_string_value(ESP_ADMIN_PWD).c_str());
//User password
Settings_ESP3D::write_string(ESP_USER_PWD,Settings_ESP3D::get_default_string_value(ESP_USER_PWD).c_str());
//Session timeout
Settings_ESP3D::write_byte(ESP_SESSION_TIMEOUT,Settings_ESP3D::get_default_byte_value(ESP_SESSION_TIMEOUT));
#endif //AUTHENTICATION_FEATURE
//Target FW
Settings_ESP3D::write_byte(ESP_TARGET_FW,Settings_ESP3D::get_default_byte_value(ESP_TARGET_FW));

View File

@ -77,7 +77,7 @@
#define ESP_TIME_SERVER3 722 //129 bytes 128+1 = string ; warning does not support multibyte char like chinese
#define ESP_SD_DEVICE_TYPE 851 //1 bytes = flag
#define ESP_SD_MOUNT 852 //1 bytes = flag
#define ESP_FREE_BYTE 853 //1 bytes = flag
#define ESP_SESSION_TIMEOUT 853 //1 bytes = flag
#define ESP_DIRECT_SD_CHECK 854 //1 bytes = flag
#define ESP_SD_CHECK_UPDATE_AT_BOOT 855//1 bytes = flag
#define ESP_NOTIFICATION_SETTINGS 856 //129 bytes 128+1 = string ; warning does not support multibyte char like chinese

View File

@ -22,7 +22,7 @@
#define _VERSION_ESP3D_H
//version and sources location
#define FW_VERSION "3.0.0.a62"
#define FW_VERSION "3.0.0.a63"
#define REPOSITORY "https://github.com/luc-github/ESP3D/tree/3.0"
#endif //_VERSION_ESP3D_H

View File

@ -118,6 +118,8 @@ bool AuthenticationService::begin(Authwebserver * webserver)
#if defined (HTTP_FEATURE)
_webserver = webserver;
#endif //HTTP_FEATURE
//value is in ms but storage is in min
_sessionTimeout = 1000 * 60 * Settings_ESP3D::read_byte(ESP_SESSION_TIMEOUT);
return true;
}
void AuthenticationService::end()