twisted.cred.identity.Identity

Package twisted :: Package cred :: Module identity :: Class Identity |
[frames | no frames]

## Class Identity

Known Subclasses:
  `ConchIdentity`

An identity, with different methods for verification.

An identity represents a user's permissions with a particular application. It is a username, a password, and a collection of Perspective/Service name pairs, each of which is a perspective that this identity is allowed to access.

Method Summary
| ``__init__`(self, name, authorizer)` Create an identity.
| `__repr__(self)`
| ``addKeyByString`(self, serviceName, perspectiveName)` Put a key on my keyring.
| ``addKeyForPerspective`(self, perspective)` Add a key for the given perspective.
| ``challenge`(self)` I return some random data.
| ``getAllKeys`(self)` Returns a list of all services and perspectives this identity can connect to.
| ``removeKey`(self, serviceName, perspectiveName)` Remove a key from my keyring.
| ``requestPerspectiveForKey`(self, serviceName, perspectiveName)` Get a perspective request (a Deferred) for the given key.
| ``requestPerspectiveForService`(self, serviceName)` Get the first available perspective for a given service.
| ``save`(self)` Persist this Identity to the authorizer.
| ``setAlreadyHashedPassword`(self, cyphertext)` (legacy) Set a password for this identity, already md5 hashed.
| `setPassword(self, plaintext)`
| `upgradeToVersion2(self)`
| ``verifyPassword`(self, challenge, hashedPassword)` Verify a challenge/response password.
| ``verifyPlainPassword`(self, plaintext)` Verify plain text password.

Class Variable Summary
`NoneType` | `hashedPassword` = None

Method Details

### __init__(self, name, authorizer) (Constructor) Create an identity. I must have a name, and a backreference to the Application that the Keys on my keyring make reference to.

### addKeyByString(self, serviceName, perspectiveName) Put a key on my keyring. This key will give me a token to access to some service in the future.

### addKeyForPerspective(self, perspective) Add a key for the given perspective.

### challenge(self) I return some random data. This is a method in addition to the module-level function because it is anticipated that we will want to change this to store salted passwords.

### getAllKeys(self) Returns a list of all services and perspectives this identity can connect to. This returns a sequence of keys.

### removeKey(self, serviceName, perspectiveName) Remove a key from my keyring. If this key is not present, raise KeyError.

### requestPerspectiveForKey(self, serviceName, perspectiveName) Get a perspective request (a Deferred) for the given key. If this identity does not have access to the given `(serviceName, perspectiveName)` pair, I will raise `KeyNotFound`.

### requestPerspectiveForService(self, serviceName) Get the first available perspective for a given service.

### save(self) Persist this Identity to the authorizer.

### setAlreadyHashedPassword(self, cyphertext) (legacy) Set a password for this identity, already md5 hashed.

### verifyPassword(self, challenge, hashedPassword) Verify a challenge/response password.

### verifyPlainPassword(self, plaintext) Verify plain text password. This is insecure, but necessary to support legacy protocols such as IRC, POP3, HTTP, etc.

Class Variable Details

    ### hashedPassword Type: `NoneType` Value:
        None

Generated by Epydoc 2.0 on Sat May 15 20:07:52 2004 | http://epydoc.sf.net