diff --git a/include/authorization.hpp b/include/authorization.hpp
index e965508..0f73e96 100644
--- a/include/authorization.hpp
+++ b/include/authorization.hpp
@@ -35,7 +35,8 @@
 }
 
 static std::shared_ptr<persistent_data::UserSession>
-    performBasicAuth(std::string_view auth_header)
+    performBasicAuth(const boost::asio::ip::address& clientIp,
+                     std::string_view auth_header)
 {
     BMCWEB_LOG_DEBUG << "[AuthMiddleware] Basic authentication";
 
@@ -60,6 +61,8 @@
     std::string pass = authData.substr(separator);
 
     BMCWEB_LOG_DEBUG << "[AuthMiddleware] Authenticating user: " << user;
+    BMCWEB_LOG_DEBUG << "[AuthMiddleware] User IPAddress: "
+                     << clientIp.to_string();
 
     int pamrc = pamAuthenticateUser(user, pass);
     bool isConfigureSelfOnly = pamrc == PAM_NEW_AUTHTOK_REQD;
@@ -76,7 +79,7 @@
     // calling directly into pam for every request
     return persistent_data::SessionStore::getInstance().generateUserSession(
         user, persistent_data::PersistenceType::SINGLE_REQUEST,
-        isConfigureSelfOnly);
+        isConfigureSelfOnly, clientIp.to_string());
 }
 
 static std::shared_ptr<persistent_data::UserSession>
@@ -269,7 +272,7 @@
             else if (boost::starts_with(authHeader, "Basic ") &&
                      authMethodsConfig.basic)
             {
-                req.session = performBasicAuth(authHeader);
+                req.session = performBasicAuth(req.ipAddress, authHeader);
             }
         }
     }
diff --git a/include/login_routes.hpp b/include/login_routes.hpp
index 1f7b35a..6879de0 100644
--- a/include/login_routes.hpp
+++ b/include/login_routes.hpp
@@ -141,7 +141,7 @@
                             .generateUserSession(
                                 username,
                                 persistent_data::PersistenceType::TIMEOUT,
-                                isConfigureSelfOnly);
+                                isConfigureSelfOnly, req.ipAddress.to_string());
 
                     if (looksLikePhosphorRest)
                     {
diff --git a/include/persistent_data.hpp b/include/persistent_data.hpp
index 19c424a..0ff0c7e 100644
--- a/include/persistent_data.hpp
+++ b/include/persistent_data.hpp
@@ -193,6 +193,7 @@
                     {"session_token", p.second->sessionToken},
                     {"username", p.second->username},
                     {"csrf_token", p.second->csrfToken},
+                    {"client_ip", p.second->clientIp},
 #ifdef BMCWEB_ENABLE_IBM_MANAGEMENT_CONSOLE
                     {"client_id", p.second->clientId},
 #endif
