File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11# Core packages
22import functools
3+ from datetime import datetime
34
45# Third party packages
56import flask
7+ import logging
8+
69
710from canonicalwebteam .store_api .publishergw import PublisherGW
811
912from webapp import authentication
1013from webapp .helpers import api_publisher_session
1114
1215publisher_gateway = PublisherGW (api_publisher_session )
16+ logger = logging .getLogger (__name__ )
1317
1418
1519def login_required (func ):
@@ -20,10 +24,35 @@ def login_required(func):
2024
2125 @functools .wraps (func )
2226 def is_user_logged_in (* args , ** kwargs ):
27+ date = datetime .now ()
28+ date_str = date .strftime ("%Y-%m-%dT%H:%M:%S" )
29+
2330 if not authentication .is_authenticated (flask .session ):
2431 authentication .empty_session (flask .session )
32+
33+ logger .warning (
34+ "User login failed" ,
35+ extra = {
36+ "datetime" : date_str ,
37+ "appid" : "snapcraft-io" ,
38+ "event" : "authn_login_fail" ,
39+ },
40+ )
41+
2542 return flask .redirect (f"/login?next={ flask .request .path } " )
2643
44+ publisher = flask .session .get ("publisher" )
45+ user = publisher ["email" ]
46+
47+ logger .info (
48+ f"User { user } login successfully" ,
49+ extra = {
50+ "datetime" : date_str ,
51+ "appid" : "snapcraft-io" ,
52+ "event" : f"authn_successafterfail:{ user } " ,
53+ },
54+ )
55+
2756 return func (* args , ** kwargs )
2857
2958 return is_user_logged_in
You can’t perform that action at this time.
0 commit comments