Fix 2299 - Unable to logout from GUI when NBI uses keystone as backend 12/14112/2
authorRahul <rzamre@indracompany.com>
Tue, 5 Dec 2023 11:54:38 +0000 (11:54 +0000)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Mon, 18 Dec 2023 15:08:40 +0000 (16:08 +0100)
Change-Id: I4e8a3592e7ea66645b9a8f19de576b7ba29e9d9c
Signed-off-by: Rahul <rzamre@indracompany.com>
osm_nbi/nbi.py

index 9aff857..8f87135 100644 (file)
@@ -1095,9 +1095,13 @@ class Server(object):
                 # for logging
                 self._format_login(token_info)
                 token_id = token_info["_id"]
-            token_details = self.engine.db.get_one("tokens", {"_id": token_id})
-            current_user = token_details.get("username")
-            current_project = token_details.get("project_name")
+            if current_backend != "keystone":
+                token_details = self.engine.db.get_one("tokens", {"_id": token_id})
+                current_user = token_details.get("username")
+                current_project = token_details.get("project_name")
+            else:
+                current_user = "keystone backend"
+                current_project = "keystone backend"
             outdata = self.authenticator.del_token(token_id)
             token_info = None
             cherrypy.session["Authorization"] = "logout"  # pylint: disable=E1101
@@ -1939,6 +1943,7 @@ def _start_service():
     global nbi_server
     global subscription_thread
     global cef_logger
+    global current_backend
     cherrypy.log.error("Starting osm_nbi")
     # update general cherrypy configuration
     update_dict = {}
@@ -2053,6 +2058,7 @@ def _start_service():
     # Do not capture except SubscriptionException
 
     backend = engine_config["authentication"]["backend"]
+    current_backend = backend
     cherrypy.log.error(
         "Starting OSM NBI Version '{} {}' with '{}' authentication backend".format(
             nbi_version, nbi_version_date, backend