From 3dc9c84a980453e625eb8f1d69635f81da47b59c Mon Sep 17 00:00:00 2001 From: Arik Fraimovich Date: Mon, 20 Jul 2015 18:26:45 +0300 Subject: [PATCH] Feature: add event for users logining in --- redash/authentication.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/redash/authentication.py b/redash/authentication.py index 1054eea414..0e32a9b722 100644 --- a/redash/authentication.py +++ b/redash/authentication.py @@ -4,8 +4,10 @@ import logging from flask.ext.login import LoginManager +from flask.ext.login import user_logged_in from redash import models, settings, google_oauth, saml_auth +from redash.tasks import record_event login_manager = LoginManager() logger = logging.getLogger('authentication') @@ -73,6 +75,17 @@ def api_key_load_user_from_request(request): return user +def log_user_logged_in(app, user): + event = { + 'user_id': user.id, + 'action': 'login', + 'object_type': 'redash', + 'timestamp': int(time.time()), + } + + record_event.delay(event) + + def setup_authentication(app): login_manager.init_app(app) login_manager.anonymous_user = models.AnonymousUser @@ -81,6 +94,8 @@ def setup_authentication(app): app.register_blueprint(google_oauth.blueprint) app.register_blueprint(saml_auth.blueprint) + user_logged_in.connect(log_user_logged_in) + if settings.AUTH_TYPE == 'hmac': login_manager.request_loader(hmac_load_user_from_request) elif settings.AUTH_TYPE == 'api_key':