start stubbing out endpoints
This commit is contained in:
21
app/auth.py
21
app/auth.py
@@ -1,6 +1,7 @@
|
||||
from flask import session, flash
|
||||
from .models import Sessions
|
||||
from .models import Sessions, Users
|
||||
from argon2 import PasswordHasher
|
||||
import secrets
|
||||
import time
|
||||
|
||||
ph = PasswordHasher()
|
||||
@@ -15,9 +16,9 @@ def verify(expected, given):
|
||||
return False
|
||||
|
||||
def is_logged_in():
|
||||
if "pyrom_session_key" not in session:
|
||||
if 'pyrom_session_key' not in session:
|
||||
return False
|
||||
sess = Sessions.find({"key": session["pyrom_session_key"]})
|
||||
sess = Sessions.find({'key': session['pyrom_session_key']})
|
||||
if not sess:
|
||||
return False
|
||||
if sess.expires_at < int(time.time()):
|
||||
@@ -26,3 +27,17 @@ def is_logged_in():
|
||||
# flash('Your session expired.;Please log in again.', InfoboxKind.INFO)
|
||||
return False
|
||||
return True
|
||||
|
||||
def get_active_user():
|
||||
if not is_logged_in():
|
||||
return None
|
||||
|
||||
sess = Sessions.find({'key': session['pyrom_session_key']})
|
||||
return Users.find({'id': sess.user_id})
|
||||
|
||||
def create_session(user_id):
|
||||
return Sessions.create({
|
||||
'key': secrets.token_hex(16),
|
||||
'user_id': user_id,
|
||||
'expires_at': int(time.time()) + (31 * 24 * 60 * 60),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user