Fix Janrain due to change in behavior

Janrain has started providing the login token via a POST request
in addition to including it in the query string. This results
in request.vars.token being a list containing two copies of the
token, which breaks the web2py code. This change keeps just a single
copy of the token.
This commit is contained in:
abastardi
2017-11-15 14:52:19 -05:00
parent c9fd0fd71e
commit 071622b9d9
2 changed files with 10 additions and 4 deletions
@@ -78,10 +78,13 @@ class RPXAccount(object):
def get_user(self):
request = self.request
if request.vars.token:
# Janrain now sends the token via both a POST body and the query
# string, so we should keep only one of these.
token = request.post_vars.token or request.get_vars.token
if token:
user = Storage()
data = urllib.urlencode(
dict(apiKey=self.api_key, token=request.vars.token))
dict(apiKey=self.api_key, token=token))
auth_info_json = fetch(self.auth_url + '?' + data)
auth_info = json.loads(auth_info_json)
+5 -2
View File
@@ -78,10 +78,13 @@ class RPXAccount(object):
def get_user(self):
request = self.request
if request.vars.token:
# Janrain now sends the token via both a POST body and the query
# string, so we should keep only one of these.
token = request.post_vars.token or request.get_vars.token
if token:
user = Storage()
data = urllib.urlencode(
dict(apiKey=self.api_key, token=request.vars.token))
dict(apiKey=self.api_key, token=token))
auth_info_json = fetch(self.auth_url + '?' + data)
auth_info = json.loads(auth_info_json)