class HTTPAuthSessionWrapper: (source)
Constructor: HTTPAuthSessionWrapper(portal, credentialFactories)
Implements interfaces: twisted.web.resource.IResource
Wrap a portal, enforcing supported header-based authentication schemes.
Method | __init__ |
Initialize a session wrapper |
Method | get |
Inspect the Authorization HTTP header, and return a deferred which, when fired after successful authentication, will return an authorized Avatar. On authentication failure, an UnauthorizedResource will be returned, essentially halting further dispatch on the wrapped resource and all children... |
Method | put |
Put a child IResource implementor at the given path. |
Method | render |
Find the IResource avatar suitable for the given request, if possible, and render it. Otherwise, perhaps render an error page requiring authorization or describing an internal server failure. |
Class Variable | is |
Signal if this IResource implementor is a "leaf node" or not. If True, getChildWithDefault will not be called on this Resource. |
Method | _authorized |
Get the IResource which the given request is authorized to receive. If the proper authorization headers are present, the resource will be requested from the portal. If not, an anonymous login attempt will be made. |
Method | _login |
Get the IResource avatar for the given credentials. |
Method | _login |
Handle login failure by presenting either another challenge (for expected authentication/authorization-related failures) or a server error page (for anything else). |
Method | _login |
Handle login success by wrapping the resulting IResource avatar so that the logout callback will be invoked when rendering is complete. |
Method | _select |
Choose an ICredentialFactory from _credentialFactories suitable to use to decode the given Authenticate header. |
Class Variable | _log |
Undocumented |
Instance Variable | _credential |
A list of ICredentialFactory providers which will be used to decode Authorization headers into ICredentials providers. |
Instance Variable | _portal |
The Portal which will be used to retrieve IResource avatars. |
Initialize a session wrapper
Parameters | |
portal:Portal | The portal that will authenticate the remote client |
credential | The portal that will authenticate the remote client based on one submitted ICredentialFactory |
Inspect the Authorization HTTP header, and return a deferred which, when fired after successful authentication, will return an authorized Avatar. On authentication failure, an UnauthorizedResource will be returned, essentially halting further dispatch on the wrapped resource and all children
Put a child IResource
implementor at the given path.
Parameters | |
path | A single path component, to be interpreted relative to the path this resource is found at, at which to put the given child. For example, if resource A can be found at http://example.com/foo then a call like A.putChild(b"bar", B) will make resource B available at http://example.com/foo/bar. The path component is not URL-encoded -- pass b'foo bar' rather than b'foo%20bar'. |
child | Undocumented |
Find the IResource
avatar suitable for the given request, if possible, and render it. Otherwise, perhaps render an error page requiring authorization or describing an internal server failure.
Signal if this IResource implementor is a "leaf node" or not. If True, getChildWithDefault will not be called on this Resource.
Get the IResource
which the given request is authorized to receive. If the proper authorization headers are present, the resource will be requested from the portal. If not, an anonymous login attempt will be made.
Handle login failure by presenting either another challenge (for expected authentication/authorization-related failures) or a server error page (for anything else).
Handle login success by wrapping the resulting IResource
avatar so that the logout callback will be invoked when rendering is complete.
Choose an ICredentialFactory from _credentialFactories suitable to use to decode the given Authenticate header.
Returns | |
A two-tuple of a factory and the remaining portion of the header value to be decoded or a two-tuple of None if no factory can decode the header value. |
A list of ICredentialFactory
providers which will be used to decode Authorization headers into ICredentials
providers.