Refactor plugin configuration
[cascardo/ipsilon.git] / ipsilon / providers / openid / auth.py
index abf19ae..fba8d10 100755 (executable)
@@ -90,7 +90,8 @@ class AuthenticateRequest(ProviderPageBase):
                         self.basepath, self.trans.get_GET_arg())
                     data = {'openid_stage': 'auth',
                             'openid_request': json.dumps(kwargs),
                         self.basepath, self.trans.get_GET_arg())
                     data = {'openid_stage': 'auth',
                             'openid_request': json.dumps(kwargs),
-                            'login_return': returl}
+                            'login_return': returl,
+                            'login_target': request.trust_root}
                     self.trans.store(data)
                     redirect = '%s/login?%s' % (self.basepath,
                                                 self.trans.get_GET_arg())
                     self.trans.store(data)
                     redirect = '%s/login?%s' % (self.basepath,
                                                 self.trans.get_GET_arg())
@@ -162,17 +163,16 @@ class AuthenticateRequest(ProviderPageBase):
                     'openid_request': json.dumps(kwargs)}
             self.trans.store(data)
 
                     'openid_request': json.dumps(kwargs)}
             self.trans.store(data)
 
-            # Add extension data to this list of dictionaries
-            ad = [
-                {
-                    "Trust Root": request.trust_root,
-                },
-            ]
+            # Add extension data to this dictionary
+            ad = {
+                "Trust Root": request.trust_root,
+            }
             userattrs = us.get_user_attrs()
             userattrs = us.get_user_attrs()
-            for n, e in self.cfg.extensions.items():
+            for n, e in self.cfg.extensions.available().items():
                 data = e.get_display_data(request, userattrs)
                 self.debug('%s returned %s' % (n, repr(data)))
                 data = e.get_display_data(request, userattrs)
                 self.debug('%s returned %s' % (n, repr(data)))
-                ad.append(data)
+                for key, value in data.items():
+                    ad[self.cfg.mapping.display_name(key)] = value
 
             context = {
                 "title": 'Consent',
 
             context = {
                 "title": 'Consent',
@@ -194,7 +194,7 @@ class AuthenticateRequest(ProviderPageBase):
             claimed_id=identity_url
         )
         userattrs = session.get_user_attrs()
             claimed_id=identity_url
         )
         userattrs = session.get_user_attrs()
-        for _, e in self.cfg.extensions.items():
+        for _, e in self.cfg.extensions.available().items():
             resp = e.get_response(request, userattrs)
             if resp is not None:
                 response.addExtension(resp)
             resp = e.get_response(request, userattrs)
             if resp is not None:
                 response.addExtension(resp)