Advertisement
Guest User

getUsername.py

a guest
Mar 14th, 2012
867
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.20 KB | None | 0 0
  1. import splunk.Intersplunk
  2.  
  3. def parseAuthString(settings, loggerInstance = None):
  4.     '''
  5.    Parses the received authorization token, written as:
  6.    <auth>
  7.        <userId>admin</userId>
  8.        <username>admin</username>
  9.        <authToken>cbd900f3b28014a1e233679d05dcd805</authToken>
  10.    </auth>
  11.    and returns the values: userId,userName, authToken
  12.    Parameters are:
  13.        settins: as returned by  "results,dummyresults,settings = splunk.Intersplunk.getOrganizedResults()"
  14.        loggerInstance: an instance of the logging facility, or None if no logging is to be done.
  15.    Returns: (userId, userName, authToken)
  16.    '''
  17.     userId, userName, authToken = (None, None, None)
  18.    
  19.     authString = settings.get("authString", None)
  20.    
  21.    
  22.     if authString == None:
  23.         if not loggerInstance == None: loggerInstance.warn('parseAuthString: settings did not provide an authString')    
  24.         return None,None,None
  25.     if not loggerInstance == None: loggerInstance.debug('parseAuthString: settings provided authString=%s' % authString)
  26.    
  27.     try:
  28.         start = authString.find('<userId>') + 8
  29.         stop = authString.find('</userId>')
  30.         userId = authString[start:stop]
  31.        
  32.         start = authString.find('<username>') + 10
  33.         stop = authString.find('</username>')
  34.         userName = authString[start:stop]
  35.        
  36.         start = authString.find('<authToken>') + 11
  37.         stop = authString.find('</authToken>')
  38.         authToken = authString[start:stop]
  39.     except:
  40.         if not loggerInstance == None: loggerInstance.exception('parseAuthString: settings provided authString=%s' % authString)
  41.    
  42.     return userId, userName, authToken
  43.    
  44.    
  45.    
  46. try:
  47.     keywords,options = splunk.Intersplunk.getKeywordsAndOptions()
  48.    
  49.     fieldName = options.get("field", 'splunk_username')
  50.    
  51.     results,dummyresults,settings = splunk.Intersplunk.getOrganizedResults()
  52.    
  53.     userId, userName, authToken = parseAuthString(settings,None)    
  54.        
  55.     for event in results:
  56.         event[fieldName] = userName
  57.    
  58.     splunk.Intersplunk.outputResults(results)    
  59.    
  60. except Exception, e:
  61.     splunk.Intersplunk.generateErrorResults(str(e))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement