code: def _getOpenID1SessionType(self, assoc_response):
          
          # If it's an OpenID 1 message, allow session_type to default
          # to None (which signifies "no-encryption")
          session_type = assoc_response.getArg(OPENID1_NS, 'session_type')
  
          # Handle the differences between no-encryption association
          # respones in OpenID 1 and 2:
  
          # no-encryption is not really a valid session type for
          # OpenID 1, but we'll accept it anyway, while issuing a
          # warning.
          if session_type == 'no-encryption':
              logging.warn('OpenID server sent "no-encryption"'
                          'for OpenID 1.X')
  
          # Missing or empty session type is the way to flag a
          # 'no-encryption' response. Change the session type to
          # 'no-encryption' so that it can be handled in the same
          # way as OpenID 2 'no-encryption' respones.
          elif session_type == '' or session_type is None:
              session_type = 'no-encryption'
  
          return session_type
docs: Given an association response message, extract the OpenID
          1.X session type.
  
          This function mostly takes care of the 'no-encryption' default
          behavior in OpenID 1.
  
          If the association type is plain-text, this function will
          return 'no-encryption'
  
          @returns: The association type for this message
          @rtype: str
  
          @raises KeyError: when the session_type field is absent.