18
18
# Module: authenticate
19
19
# Author: Matt Giuca
22
22
# Provides a mechanism for authenticating a username and password, and
23
23
# returning a yes/no response.
25
27
def authenticate(username, password):
26
28
"""Determines whether a particular username/password combination is
27
valid. Returns True or False. The password is in cleartext."""
29
valid. The password is in cleartext.
31
Returns None if failed to authenticate.
32
Returns a dictionary containing the user's login fields (including
33
"login", "nick" and "fullname") on success.
37
# Just authenticate against the DB at the moment.
38
# Later we will provide other auth options such as LDAP.
29
40
# WARNING: Both username and password may contain any characters, and must
30
41
# be sanitized within this function.
31
# TEMP: Just allow any user to log in
33
## TEMP: Just a hardcoded login
34
#return username == 'user' and password == 'pass'
42
# (Not SQL-sanitized, just sanitized to our particular constraints).
44
# Spawn a DB object just for making this call.
45
# (This should not spawn a DB connection on each page reload, only when
46
# there is no session object to begin with).
47
dbconn = common.db.DB()
49
if not dbconn.user_authenticate(username, password):
51
return dbconn.get_user(username)