Implements interfaces: twisted.cred.checkers.ICredentialsChecker

A file-based, text-based username/password database.

Records in the datafile for this class are delimited by a particular string. The username appears in a fixed field of the columns delimited by this string, as does the password. Both fields are specifiable. If the passwords are not stored plaintext, a hash function must be supplied to convert plaintext passwords to the form stored on disk and this CredentialsChecker will only be able to check IUsernamePassword credentials. If the passwords are stored plaintext, IUsernameHashedPassword credentials will be checkable as well.

Method __init__
Method __getstate__ Undocumented
Method getUser Look up the credentials for a username.
Method requestAvatarId Validate credentials and produce an avatar ID.
Method _cbPasswordMatch Undocumented
Method _loadCredentials Loads the credentials from the configured file.
def __init__(self, filename, delim=':', usernameField=0, passwordField=1, caseSensitive=True, hash=None, cache=False):
ParametersfilenameThe name of the file from which to read username and password information. (type: str)
delimThe field delimiter used in the file. (type: bytes)
usernameFieldThe index of the username after splitting a line on the delimiter. (type: int)
passwordFieldThe index of the password after splitting a line on the delimiter. (type: int)
caseSensitiveIf true, consider the case of the username when performing a lookup. Ignore it otherwise. (type: bool)
hashA function used to transform the plaintext password received over the network to a format suitable for comparison against the version stored on disk. The arguments to the callable are the username, the network-supplied password, and the in-file version of the password. If the return value compares equal to the version stored on disk, the credentials are accepted. (type: Three-argument callable or None)
cacheIf true, maintain an in-memory cache of the contents of the password file. On lookups, the mtime of the file will be checked, and the file will only be re-parsed if the mtime is newer than when the cache was generated. (type: bool)
def __getstate__(self):
Undocumented
def _cbPasswordMatch(self, matched, username):
Undocumented
def _loadCredentials(self):

Loads the credentials from the configured file.

ReturnsAn iterable of username, password couples. (type: iterable)
RaisesUnauthorizedLoginwhen failing to read the credentials from the file.
def getUser(self, username):

Look up the credentials for a username.

ParametersusernameThe username to look up. (type: bytes)
ReturnsTwo-tuple of the canonicalicalized username (i.e. lowercase if the database is not case sensitive) and the associated password value, both bytes. (type: tuple)
RaisesKeyErrorWhen lookup of the username fails.
def requestAvatarId(self, c):

Validate credentials and produce an avatar ID.

Parameterscredentialssomething which implements one of the interfaces in credentialInterfaces.
Returnsa Deferred which will fire with a bytes that identifies an avatar, an empty tuple to specify an authenticated anonymous user (provided as twisted.cred.checkers.ANONYMOUS) or fail with UnauthorizedLogin. Alternatively, return the result itself.
See Alsotwisted.cred.credentials
API Documentation for twisted, generated by pydoctor at 2020-03-25 17:34:30.