parent
0954240ccb
commit
3a473cad2a
5 changed files with 52 additions and 5 deletions
|
@ -23,6 +23,7 @@ from config import frontend_visible_config
|
|||
from external_libraries import get_external_javascript, get_external_css
|
||||
from util.names import parse_namespace_repository
|
||||
from util.secscan import PRIORITY_LEVELS
|
||||
from util.timedeltastring import convert_to_timedelta
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
@ -108,16 +109,20 @@ def param_required(param_name, allow_body=False):
|
|||
return wrapper
|
||||
|
||||
|
||||
def common_login(db_user):
|
||||
def common_login(db_user, permanent_session=True):
|
||||
if login_user(LoginWrappedDBUser(db_user.uuid, db_user)):
|
||||
logger.debug('Successfully signed in as: %s (%s)' % (db_user.username, db_user.uuid))
|
||||
new_identity = QuayDeferredPermissionUser.for_user(db_user)
|
||||
identity_changed.send(app, identity=new_identity)
|
||||
session['login_time'] = datetime.datetime.now()
|
||||
|
||||
if permanent_session and features.PERMANENT_SESSIONS:
|
||||
session_timeout_str = app.config.get('SESSION_TIMEOUT', '31d')
|
||||
session.permanent = True
|
||||
session.permanent_session_lifetime = convert_to_timedelta(session_timeout_str)
|
||||
|
||||
# Inform our user analytics that we have a new "lead"
|
||||
user_analytics.create_lead(db_user.email, db_user.username)
|
||||
|
||||
return True
|
||||
else:
|
||||
logger.debug('User could not be logged in, inactive?.')
|
||||
|
|
Reference in a new issue