Package twisted :: Package cred :: Module identity :: Class Identity

[show private | hide private]
[frames | no frames]

## Class Identity

Known Subclasses:
  `ConchIdentity`, `CramMD5Identity`

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`

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<error.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 1.1 on Thu May 8 13:16:24 2003 | http://epydoc.sf.net