resynced recent patches, sorry for the mess
This commit is contained in:
1 parent
e055c3af7e
commit
08f813d670
4 files changed
+17
-12
No files matched your search
@@ -1 +1 @@
|
||||
Version 2.5.1-stable+timestamp.2013.06.18.07.44.05
|
||||
Version 2.5.1-stable+timestamp.2013.06.20.16.43.32
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
thanks and credits to the web2py community
|
||||
|
||||
This custom authenticator allows web2py to authenticate using browserid (https://browserid.org/)
|
||||
This custom authenticator allows web2py to authenticate using browserid (https://login.persona.org/)
|
||||
BrowserID is a project by Mozilla Labs (http://mozillalabs.com/)
|
||||
to Know how browserid works please visit http://identity.mozilla.com/post/7616727542/introducing-browserid-a-better-way-to-sign-in
|
||||
|
||||
@@ -39,10 +39,10 @@ class BrowserID(object):
|
||||
audience="",
|
||||
assertion_post_url="",
|
||||
prompt="BrowserID Login",
|
||||
issuer="browserid.org",
|
||||
verify_url="https://browserid.org/verify",
|
||||
browserid_js="https://browserid.org/include.js",
|
||||
browserid_button="https://browserid.org/i/sign_in_red.png",
|
||||
issuer="login.persona.org",
|
||||
verify_url="https://login.persona.org/verify",
|
||||
browserid_js="https://login.persona.org/include.js",
|
||||
browserid_button="https://login.persona.org/i/sign_in_red.png",
|
||||
crypto_js="https://crypto-js.googlecode.com/files/2.2.0-crypto-md5.js",
|
||||
on_login_failure=None,
|
||||
):
|
||||
@@ -76,9 +76,13 @@ class BrowserID(object):
|
||||
if j["status"] == "okay" and j["audience"] == audience and j['issuer'] == issuer and j['expires'] >= epoch_time:
|
||||
return dict(email=j['email'])
|
||||
elif self.on_login_failure:
|
||||
redirect('http://google.com')
|
||||
#print "status: ", j["status"]=="okay", j["status"]
|
||||
#print "audience:", j["audience"]==audience, j["audience"], audience
|
||||
#print "issuer: ", j["issuer"]==issuer, j["issuer"], issuer
|
||||
#print "expires: ", j["expires"] >= epoch_time, j["expires"], epoch_time
|
||||
redirect(self.on_login_failure)
|
||||
else:
|
||||
redirect('http://google.com')
|
||||
redirect('https://login.persona.org')
|
||||
return None
|
||||
|
||||
def login_form(self):
|
||||
|
||||
+2
-2
@@ -1807,7 +1807,7 @@ class BaseAdapter(ConnectionPool):
|
||||
if field_is_type('list:string'):
|
||||
obj = map(str,obj)
|
||||
else:
|
||||
obj = map(int,obj)
|
||||
obj = map(int,[o for o in obj if o != ''])
|
||||
# we don't want to bar_encode json objects
|
||||
if isinstance(obj, (list, tuple)) and (not fieldtype == "json"):
|
||||
obj = bar_encode(obj)
|
||||
@@ -10194,7 +10194,7 @@ class Rows(object):
|
||||
return len(self.records)
|
||||
|
||||
def __getslice__(self, a, b):
|
||||
return Rows(self.db,self.records[a:b],self.colnames)
|
||||
return Rows(self.db,self.records[a:b],self.colnames,compact=self.compact)
|
||||
|
||||
def __getitem__(self, i):
|
||||
row = self.records[i]
|
||||
|
||||
+3
-2
@@ -969,6 +969,7 @@ class Auth(object):
|
||||
new_password='New password',
|
||||
old_password='Old password',
|
||||
group_description='Group uniquely assigned to user %(id)s',
|
||||
logging_enabled = True,
|
||||
register_log='User %(id)s Registered',
|
||||
login_log='User %(id)s Logged-in',
|
||||
login_failed_log=None,
|
||||
@@ -1739,7 +1740,7 @@ class Auth(object):
|
||||
|
||||
auth.log_event(description='this happened', origin='auth')
|
||||
"""
|
||||
if not description:
|
||||
if not self.settings.logging_enabled or not description:
|
||||
return
|
||||
elif self.is_logged_in():
|
||||
user_id = self.user.id
|
||||
@@ -1845,7 +1846,7 @@ class Auth(object):
|
||||
"""
|
||||
from gluon.settings import global_settings
|
||||
if global_settings.web2py_runtime_gae:
|
||||
user = Row(self.db.auth_user._filter_fields(user, id=True))
|
||||
user = Row(self.settings.table_user._filter_fields(user, id=True))
|
||||
delattr(user,'password')
|
||||
else:
|
||||
user = Row(user)
|
||||
|
||||
Reference in new issue
Block a user