X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=osm_nbi%2Fauthconn_internal.py;h=3f495d864243a6552352bea78e1b65932a62ecc2;hb=7802ff80245ba7ba6055bc927b91e4f8b1f42542;hp=d039f84247d66bde3936f8d11b88c4e7a6fab8fa;hpb=f2af4a100d308e07f355d61b94fb27d1ccc97aa2;p=osm%2FNBI.git diff --git a/osm_nbi/authconn_internal.py b/osm_nbi/authconn_internal.py index d039f84..3f495d8 100644 --- a/osm_nbi/authconn_internal.py +++ b/osm_nbi/authconn_internal.py @@ -40,6 +40,7 @@ from osm_nbi.authconn import ( ) # , AuthconnOperationException from osm_common.dbbase import DbException from osm_nbi.base_topic import BaseTopic +from osm_nbi.utils import cef_event, cef_event_builder from osm_nbi.validation import is_valid_uuid from time import time, sleep from http import HTTPStatus @@ -68,6 +69,7 @@ class AuthconnInternal(Authconn): # To be Confirmed self.sess = None + self.cef_logger = cef_event_builder(config) def validate_token(self, token): """ @@ -193,6 +195,18 @@ class AuthconnInternal(Authconn): if user: user_content = self.validate_user(user, password) if not user_content: + cef_event( + self.cef_logger, + { + "name": "User login", + "sourceUserName": user, + "message": "Invalid username/password Project={} Outcome=Failure".format( + project + ), + "severity": "3", + }, + ) + self.logger.exception("{}".format(self.cef_logger)) raise AuthException( "Invalid username/password", http_code=HTTPStatus.UNAUTHORIZED ) @@ -401,6 +415,16 @@ class AuthconnInternal(Authconn): if pswd and ( len(pswd) != 64 or not re.match("[a-fA-F0-9]*", pswd) ): # TODO: Improve check? + cef_event( + self.cef_logger, + { + "name": "Change Password", + "sourceUserName": user_data["username"], + "message": "Changing Password for user, Outcome=Success", + "severity": "2", + }, + ) + self.logger.info("{}".format(self.cef_logger)) salt = uuid4().hex if "_admin" not in user_data: user_data["_admin"] = {}