Package openid :: Module association :: Class SessionNegotiator
[frames | no frames]

Type SessionNegotiator

object --+
         |
        SessionNegotiator


A session negotiator controls the allowed and preferred association types and association session types. Both the Consumer and Server use negotiators when creating associations.

You can create and use negotiators if you: It is up to you to set a policy for what kinds of associations to accept. By default, the library will make any kind of association that is allowed in the OpenID 2.0 specification.

Use of negotiators in the library

When a consumer makes an association request, it calls getAllowedType to get the preferred association type and association session type.

The server gets a request for a particular association/session type and calls isAllowed to determine if it should create an association. If it is supported, negotiation is complete. If it is not, the server calls getAllowedType to get an allowed association type to return to the consumer.

If the consumer gets an error response indicating that the requested association/session type is not supported by the server that contains an assocation/session type to try, it calls isAllowed to determine if it should try again with the given combination of association/session type.
Method Summary
  __init__(self, allowed_types)
  addAllowedType(self, assoc_type, session_type)
Add an association type and session type to the allowed types list.
  copy(self)
  getAllowedType(self)
Get a pair of assocation type and session type that are supported
  isAllowed(self, assoc_type, session_type)
Is this combination of association type and session type allowed?
  setAllowedTypes(self, allowed_types)
Set the allowed association types, checking to make sure each combination is valid.
Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Instance Variable Summary
[(str, str)] allowed_types: A list of association/session types that are allowed by the server.

Method Details

addAllowedType(self, assoc_type, session_type=None)

Add an association type and session type to the allowed types list. The assocation/session pairs are tried in the order that they are added.

getAllowedType(self)

Get a pair of assocation type and session type that are supported

isAllowed(self, assoc_type, session_type)

Is this combination of association type and session type allowed?

setAllowedTypes(self, allowed_types)

Set the allowed association types, checking to make sure each combination is valid.

Instance Variable Details

allowed_types

A list of association/session types that are allowed by the server. The order of the pairs in this list determines preference. If an association/session type comes earlier in the list, the library is more likely to use that type.
Type:
[(str, str)]

Generated by Epydoc 2.1 on Fri Jun 27 15:48:22 2008 http://epydoc.sf.net