Files
pyrom/app/auth.py

29 lines
690 B
Python

from flask import session, flash
from .models import Sessions
from argon2 import PasswordHasher
import time
ph = PasswordHasher()
def digest(password):
return ph.hash(password)
def verify(expected, given):
try:
return ph.verify(expected, given)
except:
return False
def is_logged_in():
if "pyrom_session_key" not in session:
return False
sess = Sessions.find({"key": session["pyrom_session_key"]})
if not sess:
return False
if sess.expires_at < int(time.time()):
session.clear()
sess.delete()
# flash('Your session expired.;Please log in again.', InfoboxKind.INFO)
return False
return True