summaryrefslogtreecommitdiff
path: root/quoins/openid_controllers.py
diff options
context:
space:
mode:
authorJames E. Blair <corvus@gnu.org>2009-08-31 22:57:22 -0700
committerJames E. Blair <corvus@gnu.org>2009-08-31 22:57:22 -0700
commit75d10d596e82f1309ff1793f2cda5a47c728e2b4 (patch)
tree4c90fb1fc80edc481b4f7ff45563b42ee5b29d52 /quoins/openid_controllers.py
parent58916f2f4e99c38901585f15a5cd280a968e9457 (diff)
Handle OpenID consumers that don't support YADIS for return_to verification.
Diffstat (limited to 'quoins/openid_controllers.py')
-rw-r--r--quoins/openid_controllers.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/quoins/openid_controllers.py b/quoins/openid_controllers.py
index 2d15c7e..8b1619f 100644
--- a/quoins/openid_controllers.py
+++ b/quoins/openid_controllers.py
@@ -51,6 +51,7 @@ class DecideController(object):
51 session.save() 51 session.save()
52 52
53 d = dict(openid = self.oid_controller, 53 d = dict(openid = self.oid_controller,
54 oid_return_verified = request.environ['oid_return_verified'],
54 oid_request = oid_request, 55 oid_request = oid_request,
55 required = sr_required, 56 required = sr_required,
56 optional = sr_optional, 57 optional = sr_optional,
@@ -174,11 +175,17 @@ class OpenIDController(TGController):
174 oid_request = oserver.decodeRequest(request.params) 175 oid_request = oserver.decodeRequest(request.params)
175 request.environ['oid_request']=oid_request 176 request.environ['oid_request']=oid_request
176 177
178 request.environ['oid_return_verified']='not verified'
177 if oid_request.mode in ['checkid_immediate', 'checkid_setup']: 179 if oid_request.mode in ['checkid_immediate', 'checkid_setup']:
178 if hasattr(oid_request, 'returnToVerified'): 180 if hasattr(oid_request, 'returnToVerified'):
179 if not (oid_request.trustRootValid() 181 if not oid_request.trustRootValid():
180 and oid_request.returnToVerified()):
181 raise Exception("Not trusted") 182 raise Exception("Not trusted")
183 try:
184 if not oid_request.returnToVerified():
185 raise Exception("Not trusted")
186 request.environ['oid_return_verified']='verified'
187 except:
188 pass
182 else: 189 else:
183 if not (oid_request.trustRootValid()): 190 if not (oid_request.trustRootValid()):
184 raise Exception("Not trusted") 191 raise Exception("Not trusted")