def log_action(kind, user_or_orgname, metadata=None, repo=None, repo_name=None): if not metadata: metadata = {} oauth_token = get_validated_oauth_token() if oauth_token: metadata["oauth_token_id"] = oauth_token.id metadata[ "oauth_token_application_id"] = oauth_token.application.client_id metadata["oauth_token_application"] = oauth_token.application.name performer = get_authenticated_user() if repo_name is not None: repo = data_model.repository.get_repository(user_or_orgname, repo_name) logs_model.log_action( kind, user_or_orgname, repository=repo, performer=performer, ip=get_request_ip(), metadata=metadata, )
def wrapper(*args, **kwargs): # Verify the CSRF token. if get_validated_oauth_token() is None: if all_methods or (request.method != "GET" and request.method != "HEAD"): verify_csrf(session_token_name, request_token_name, check_header) # Invoke the handler. resp = func(*args, **kwargs) return resp
def wrapped(*args, **kwargs): user = get_authenticated_user() if not user or user.robot: raise Unauthorized() if get_validated_oauth_token(): return func(*args, **kwargs) last_login = session.get("login_time", datetime.datetime.min) valid_span = datetime.datetime.now() - FRESH_LOGIN_TIMEOUT logger.debug("Checking fresh login for user %s: Last login at %s", user.username, last_login) if (last_login >= valid_span or not authentication.supports_fresh_login or not authentication.has_password_set(user.username)): return func(*args, **kwargs) raise FreshLoginRequired()
def wrapped(*args, **kwargs): user = get_authenticated_user() if not user: raise Unauthorized() if get_validated_oauth_token(): return func(*args, **kwargs) logger.debug("Checking fresh login for user %s", user.username) last_login = session.get("login_time", datetime.datetime.min) valid_span = datetime.datetime.now() - datetime.timedelta(minutes=10) if (not user.password_hash or last_login >= valid_span or not authentication.supports_fresh_login): return func(*args, **kwargs) raise FreshLoginRequired()
def build_notification_data(notification, event_data, performer_data=None): if not performer_data: performer_data = {} oauth_token = get_validated_oauth_token() if oauth_token: performer_data["oauth_token_id"] = oauth_token.id performer_data["oauth_token_application_id"] = oauth_token.application.client_id performer_data["oauth_token_application"] = oauth_token.application.name performer_user = get_authenticated_user() if performer_user: performer_data["entity_id"] = performer_user.id performer_data["entity_name"] = performer_user.username return { "notification_uuid": notification.uuid, "event_data": event_data, "performer_data": performer_data, }
def build_notification_data(notification, event_data, performer_data=None): if not performer_data: performer_data = {} oauth_token = get_validated_oauth_token() if oauth_token: performer_data['oauth_token_id'] = oauth_token.id performer_data[ 'oauth_token_application_id'] = oauth_token.application.client_id performer_data[ 'oauth_token_application'] = oauth_token.application.name performer_user = get_authenticated_user() if performer_user: performer_data['entity_id'] = performer_user.id performer_data['entity_name'] = performer_user.username return { 'notification_uuid': notification.uuid, 'event_data': event_data, 'performer_data': performer_data, }