Source code for pyramid_authsanity.interfaces

from zope.interface import Attribute, Interface


[docs]class IAuthSourceService(Interface): """Represents an authentication source.""" vary = Attribute("List of HTTP headers to Vary the response by.") def get_value(): """Returns the opaque value that was stored.""" def headers_remember(value): """Returns any and all headers for remembering the value, as a list. Value is a standard Python type that shall be serializable using JSON.""" def headers_forget(): """Returns any and all headers for forgetting the current requests value."""
[docs]class IAuthService(Interface): """Represents an authentication service. This service verifies that the users authentication ticket is valid and returns groups the user is a member of.""" def userid(): """Return the current user id, None, or raise an error. Raising an error is used when no attempt to verify a ticket has been made yet and signifies that the authentication policy should attempt to call ``verify_ticket``""" def groups(): """Returns the groups for the current user, as a list. Including the current userid in this list is not required, as it will be implicitly added by the authentication policy.""" def verify_ticket(principal, ticket): """Verify that the principal matches the ticket given.""" def add_ticket(principal, ticket): """Add a new ticket for the principal. If there is a failure, due to a missing/non-existent principal, or failure to add ticket for principal, should raise an error""" def remove_ticket(ticket): """Remove a ticket for the current user. Upon success return True"""