29 lines
690 B
Python
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
|