From 0b74122d6fc1d27ca445f232d388bb021f31d4ce Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 11 Jul 2025 09:21:18 -1000 Subject: [PATCH] Auto auth if no password is required Next step in password deprecation --- esphome/components/api/api_connection.cpp | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/esphome/components/api/api_connection.cpp b/esphome/components/api/api_connection.cpp index af25dbfa1a..3df01d0977 100644 --- a/esphome/components/api/api_connection.cpp +++ b/esphome/components/api/api_connection.cpp @@ -1433,9 +1433,13 @@ HelloResponse APIConnection::hello(const HelloRequest &msg) { resp.server_info = App.get_name() + " (esphome v" ESPHOME_VERSION ")"; resp.name = App.get_name(); - // Auto-authenticate if no password is required + bool needs_auth = false; #ifdef USE_API_PASSWORD - if (!this->parent_->uses_password()) { + needs_auth = this->parent_->uses_password(); +#endif + + if (!needs_auth) { + // Auto-authenticate if no password is required this->flags_.connection_state = static_cast(ConnectionState::AUTHENTICATED); ESP_LOGD(TAG, "%s connected (no password)", this->get_client_combined_info().c_str()); #ifdef USE_API_CLIENT_CONNECTED_TRIGGER @@ -1449,19 +1453,6 @@ HelloResponse APIConnection::hello(const HelloRequest &msg) { } else { this->flags_.connection_state = static_cast(ConnectionState::CONNECTED); } -#else - // No password support compiled in, always authenticate - this->flags_.connection_state = static_cast(ConnectionState::AUTHENTICATED); - ESP_LOGD(TAG, "%s connected (no password)", this->get_client_combined_info().c_str()); -#ifdef USE_API_CLIENT_CONNECTED_TRIGGER - this->parent_->get_client_connected_trigger()->trigger(this->client_info_, this->client_peername_); -#endif -#ifdef USE_HOMEASSISTANT_TIME - if (homeassistant::global_homeassistant_time != nullptr) { - this->send_time_request(); - } -#endif -#endif return resp; }