mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
auth/quality: replace os.path stuff with Path from pathlib
This commit is contained in:
parent
c57a7a4cf0
commit
9a45a6ccf2
1 changed files with 11 additions and 12 deletions
|
@ -166,13 +166,13 @@ class Authenticator(BaseAuthenticator):
|
||||||
raise YunohostAuthenticationError("unable_authenticate")
|
raise YunohostAuthenticationError("unable_authenticate")
|
||||||
|
|
||||||
self.purge_expired_session_files()
|
self.purge_expired_session_files()
|
||||||
session_file = f'{SESSION_FOLDER}/{infos["id"]}'
|
session_file = Path(SESSION_FOLDER) / infos["id"]
|
||||||
if not os.path.exists(session_file):
|
if not session_file.exists():
|
||||||
response.delete_cookie("yunohost.portal", path="/")
|
response.delete_cookie("yunohost.portal", path="/")
|
||||||
raise YunohostAuthenticationError("session_expired")
|
raise YunohostAuthenticationError("session_expired")
|
||||||
|
|
||||||
# Otherwise, we 'touch' the file to extend the validity
|
# Otherwise, we 'touch' the file to extend the validity
|
||||||
os.system(f'touch "{session_file}"')
|
session_file.touch()
|
||||||
|
|
||||||
if decrypt_pwd:
|
if decrypt_pwd:
|
||||||
infos["pwd"] = decrypt(infos["pwd"])
|
infos["pwd"] = decrypt(infos["pwd"])
|
||||||
|
@ -184,8 +184,8 @@ class Authenticator(BaseAuthenticator):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
infos = self.get_session_cookie()
|
infos = self.get_session_cookie()
|
||||||
session_file = f'{SESSION_FOLDER}/{infos["id"]}'
|
session_file = Path(SESSION_FOLDER) / infos["id"]
|
||||||
os.remove(session_file)
|
session_file.unlink()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(f"User logged out, but failed to properly invalidate the session : {e}")
|
logger.debug(f"User logged out, but failed to properly invalidate the session : {e}")
|
||||||
|
|
||||||
|
@ -193,19 +193,18 @@ class Authenticator(BaseAuthenticator):
|
||||||
|
|
||||||
def purge_expired_session_files(self):
|
def purge_expired_session_files(self):
|
||||||
|
|
||||||
for session_id in os.listdir(SESSION_FOLDER):
|
for session_file in Path(SESSION_FOLDER).iterdir():
|
||||||
session_file = f"{SESSION_FOLDER}/{session_id}"
|
if abs(session_file.stat().st_ctime - time.time()) > SESSION_VALIDITY:
|
||||||
if abs(os.path.getctime(session_file) - time.time()) > SESSION_VALIDITY:
|
|
||||||
try:
|
try:
|
||||||
os.remove(session_file)
|
session_file.unlink()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(f"Failed to delete session file {session_file} ? {e}")
|
logger.debug(f"Failed to delete session file {session_file} ? {e}")
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def invalidate_all_sessions_for_user(user):
|
def invalidate_all_sessions_for_user(user):
|
||||||
|
|
||||||
for path in glob.glob(f"{SESSION_FOLDER}/{short_hash(user)}*"):
|
for file in Path(SESSION_FOLDER).glob(f"{short_hash(user)}*"):
|
||||||
try:
|
try:
|
||||||
os.remove(path)
|
file.unlink()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(f"Failed to delete session file {path} ? {e}")
|
logger.debug(f"Failed to delete session file {file} ? {e}")
|
||||||
|
|
Loading…
Add table
Reference in a new issue