Package flumotion :: Package twisted :: Module pb :: Class Authenticator
[show private | hide private]
[frames | no frames]

Class Authenticator

         Loggable --+
                    |
Jellyable --+       |
            |       |
 Serializable --+   |
                |   |
    Referenceable --+
                    |
                   Authenticator


I am an object used by FPB clients to create keycards for me and respond to challenges.

I encapsulate keycard-related data, plus secrets which are used locally and not put on the keycard.

I can be serialized over PB connections to a RemoteReference and then adapted with RemoteAuthenticator to present the same interface.
Method Summary
  __init__(self, **kwargs)
defer.Deferred firing keycards.Keycard issue(self, keycardClasses)
Issue a keycard that implements one of the given interfaces.
  issue_KeycardUACPCC(self)
  issue_KeycardUACPP(self)
  issue_KeycardUASPCC(self)
  remote_issue(self, interfaces)
  remote_respond(self, keycard)
defer.Deferred firing a {keycards.Keycard} respond(self, keycard)
Respond to a challenge on the given keycard, based on the secrets we have.
  respond_KeycardUACPCC(self, keycard)
  respond_KeycardUASPCC(self, keycard)
    Inherited from Loggable
  debug(self, *args)
Log a debug message.
dict doLog(self, level, where, format, *args, **kwargs)
Log a message at the given level, with the possibility of going higher up in the stack.
  error(self, *args)
Log an error.
  info(self, *args)
Log an informational message.
  log(self, *args)
Log a log message.
  logFunction(self, *args)
Overridable log function.
  logObjectName(self)
Overridable object name function.
  warning(self, *args)
Log a warning.
  warningFailure(self, failure, swallow)
Log a warning about a Failure.
    Inherited from Referenceable
  jellyFor(self, jellier)
(internal)
  remoteMessageReceived(self, broker, message, args, kw)
A remote message has been received.
    Inherited from Serializable
  processUniqueID(self)
Return an ID which uniquely represents this object for this process.
    Inherited from Jellyable
  getStateFor(self, jellier)

Class Variable Summary
str address: an address to log in from
str avatarId: the avatarId we want to request from the PB server
str logCategory: Implementors can provide a category to log their messages under.
str password: a password to log in with
str username: a username to log in with
    Inherited from Loggable
Implements __implemented__ = <implementedBy flumotion.common.log.Lo...
ClassProvides __providedBy__ = <zope.interface.declarations.ClassProvi...
ClassProvides __provides__ = <zope.interface.declarations.ClassProvide...
    Inherited from Referenceable
NoneType perspective = None                                                                  

Method Details

issue(self, keycardClasses)

Issue a keycard that implements one of the given interfaces.
Parameters:
keycardClasses - list of fully qualified keycard classes
           (type=list of str)
Returns:
defer.Deferred firing keycards.Keycard

respond(self, keycard)

Respond to a challenge on the given keycard, based on the secrets we have.
Parameters:
keycard - the keycard with the challenge to respond to
           (type=keycards.Keycard)
Returns:
a deferred firing the keycard with a response set
           (type=defer.Deferred firing a {keycards.Keycard})

Class Variable Details

address

an address to log in from
Type:
str
Value:
None                                                                  

avatarId

the avatarId we want to request from the PB server
Type:
str
Value:
None                                                                  

logCategory

Implementors can provide a category to log their messages under.
Type:
str
Value:
'authenticator'                                                        

password

a password to log in with
Type:
str
Value:
None                                                                  

username

a username to log in with
Type:
str
Value:
None                                                                  

Generated by Epydoc 2.1 on Mon Oct 1 03:51:59 2007 http://epydoc.sf.net