diff options
Diffstat (limited to 'quoins/openid_controllers.py')
-rw-r--r-- | quoins/openid_controllers.py | 11 |
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") |