swauth.authtypesΒΆ

This module hosts available auth types for encoding and matching user keys. For adding a new auth type, simply write a class that satisfies the following conditions:

  • For the class name, capitalize first letter only. This makes sure the user can specify an all-lowercase config option such as “plaintext” or “sha1”. Swauth takes care of capitalizing the first letter before instantiating it.
  • Write an encode(key) method that will take a single argument, the user’s key, and returns the encoded string. For plaintext, this would be “plaintext:<key>”
  • Write a match(key, creds) method that will take two arguments: the user’s key, and the user’s retrieved credentials. Return a boolean value that indicates whether the match is True or False.

Note that, since some of the encodings will be hashes, swauth supports the notion of salts. Thus, self.salt will be set to either a user-specified salt value or to a default value.

swauth.authtypes.MAX_TOKEN_LENGTH = 256

Maximum length any valid token should ever be.

class swauth.authtypes.Plaintext[source]

Bases: object

Provides a particular auth type for encoding format for encoding and matching user keys.

This class must be all lowercase except for the first character, which must be capitalized. encode and match methods must be provided and are the only ones that will be used by swauth.

Plaintext.encode(key)[source]

Encodes a user key into a particular format. The result of this method will be used by swauth for storing user credentials.

Parameters:key – User’s secret key
Returns:A string representing user credentials
Plaintext.match(key, creds)[source]

Checks whether the user-provided key matches the user’s credentials

Parameters:
  • key – User-supplied key
  • creds – User’s stored credentials
Returns:

True if the supplied key is valid, False otherwise

class swauth.authtypes.Sha1[source]

Bases: object

Provides a particular auth type for encoding format for encoding and matching user keys.

This class must be all lowercase except for the first character, which must be capitalized. encode and match methods must be provided and are the only ones that will be used by swauth.

Sha1.encode(key)[source]

Encodes a user key into a particular format. The result of this method will be used by swauth for storing user credentials.

Parameters:key – User’s secret key
Returns:A string representing user credentials
Sha1.match(key, creds)[source]

Checks whether the user-provided key matches the user’s credentials

Parameters:
  • key – User-supplied key
  • creds – User’s stored credentials
Returns:

True if the supplied key is valid, False otherwise

Previous topic

Swauth API

This Page