Changeset 5317


Ignore:
Timestamp:
20/05/09 15:49:54 (10 years ago)
Author:
pjkersha
Message:

Added fix for OpenID AX data returned from OpenID Relying Party AuthKit? cookie - check for 'ax' key in dict.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/wsgi/authn.py

    r5315 r5317  
    249249                session['username'] = environ['REMOTE_USER'] 
    250250                 
    251             if environ.get('REMOTE_USER_DATA', ''): 
     251            remoteUserData = environ.get('REMOTE_USER_DATA', '')     
     252            if remoteUserData: 
    252253                log.debug("SessionHandlerMiddleware: found REMOTE_USER_DATA=" 
    253254                          "%s, set from OpenID Relying Party signin", 
     
    258259                if 'sessionManagerURI' not in session or \ 
    259260                   'sessionId' not in session: 
    260                     axData = eval(environ['REMOTE_USER_DATA']) 
    261                     sessionManagerURI = \ 
     261                     
     262                    axData = eval(remoteUserData) 
     263                    if isinstance(axData, dict) and 'ax' in axData: 
     264                        sessionManagerURI = \ 
    262265                                    axData['ax']['value.sessionManagerURI.1'] 
    263                     session['sessionManagerURI'] = sessionManagerURI 
    264  
    265                     sessionId = axData['ax']['value.sessionId.1'] 
    266                     session['sessionId'] = sessionId 
    267  
    268                     log.debug("SessionHandlerMiddleware: updated session " 
    269                               "with sessionManagerURI=%s and sessionId=%s",  
    270                               sessionManagerURI, sessionId) 
     266                        session['sessionManagerURI'] = sessionManagerURI 
     267     
     268                        sessionId = axData['ax']['value.sessionId.1'] 
     269                        session['sessionId'] = sessionId 
     270     
     271                        log.debug("SessionHandlerMiddleware: updated session " 
     272                                  "with sessionManagerURI=%s and " 
     273                                  "sessionId=%s",  
     274                                  sessionManagerURI,  
     275                                  sessionId) 
    271276                     
    272277                # Reset cookie removing user data 
Note: See TracChangeset for help on using the changeset viewer.