class documentation

class twisted.web.guard.HTTPAuthSessionWrapper: (source)

Implements interfaces: twisted.web.resource.IResource

View In Hierarchy

Wrap a portal, enforcing supported header-based authentication schemes.

Class Variable isLeaf Signal if this IResource implementor is a "leaf node" or not. If True, getChildWithDefault will not be called on this Resource.
Method __init__ Initialize a session wrapper
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.
Method getChildWithDefault No summary
Method putChild Put a child IResource implementor at the given path.
Instance Variable _portal The Portal which will be used to retrieve IResource avatars.
Instance Variable _credentialFactories A list of ICredentialFactory providers which will be used to decode Authorization headers into ICredentials providers.
Class Variable _log Undocumented
Method _authorizedResource No summary
Method _login Get the IResource avatar for the given credentials.
Method _loginSucceeded Handle login success by wrapping the resulting IResource avatar so that the logout callback will be invoked when rendering is complete.
Method _loginFailed Handle login failure by presenting either another challenge (for expected authentication/authorization-related failures) or a server error page (for anything else).
Method _selectParseHeader Choose an ICredentialFactory from _credentialFactories suitable to use to decode the given Authenticate header.
_portal = (source)
The Portal which will be used to retrieve IResource avatars.
_credentialFactories = (source)
A list of ICredentialFactory providers which will be used to decode Authorization headers into ICredentials providers.
isLeaf = (source)

Signal if this IResource implementor is a "leaf node" or not. If True, getChildWithDefault will not be called on this Resource.

(type: bool)
_log = (source)

Undocumented

def __init__(self, portal, credentialFactories): (source)

Initialize a session wrapper

ParametersportalThe portal that will authenticate the remote client (type: Portal)
credentialFactoriesThe portal that will authenticate the remote client based on one submitted ICredentialFactory (type: Iterable)
def _authorizedResource(self, request): (source)

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.

def render(self, request): (source)

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.

def getChildWithDefault(self, path, request): (source)

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

def _login(self, credentials): (source)

Get the IResource avatar for the given credentials.

ReturnsA Deferred which will be called back with an IResource avatar or which will errback if authentication fails.
def _loginSucceeded(self, args): (source)

Handle login success by wrapping the resulting IResource avatar so that the logout callback will be invoked when rendering is complete.

def _loginFailed(self, result): (source)

Handle login failure by presenting either another challenge (for expected authentication/authorization-related failures) or a server error page (for anything else).

def _selectParseHeader(self, header): (source)

Choose an ICredentialFactory from _credentialFactories suitable to use to decode the given Authenticate header.

ReturnsA 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.
def putChild(self, path, child): (source)

Put a child IResource implementor at the given path.

ParameterspathA 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. (type: bytes)
childUndocumented
API Documentation for Twisted, generated by pydoctor 20.12.1 at 2021-02-28 19:53:36.