X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fauth.py;h=a99cea7e556067acf9562af6f4a884005af487c0;hp=eef2ae7af57acf9bb49de7d18e105675572f884f;hb=a9a1fc8427db17f47ea7ff782e35d24be4094f95;hpb=ee31f53e40fd2435bf19c394842693ae0eb72a9e diff --git a/osm_nbi/auth.py b/osm_nbi/auth.py index eef2ae7..a99cea7 100644 --- a/osm_nbi/auth.py +++ b/osm_nbi/auth.py @@ -768,3 +768,27 @@ class Authenticator: else: self.tokens_cache.clear() self.msg.write("admin", "revoke_token", {"_id": token} if token else None) + + def check_password_expiry(self, outdata): + """ + This method will check for password expiry of the user + :param outdata: user token information + """ + user_content = None + detail = {} + present_time = time() + user = outdata["username"] + if self.config["authentication"].get("pwd_expiry_check"): + user_content = self.db.get_list("users", {"username": user})[0] + if not user_content.get("username") == "admin": + user_content["_admin"]["modified_time"] = present_time + if user_content.get("_admin").get("expire_time"): + expire_time = user_content["_admin"]["expire_time"] + else: + expire_time = present_time + uid = user_content["_id"] + self.db.set_one("users", {"_id": uid}, user_content) + if not present_time < expire_time: + return True + else: + pass