summaryrefslogtreecommitdiffstats
path: root/ipsilon/providers
diff options
context:
space:
mode:
Diffstat (limited to 'ipsilon/providers')
-rw-r--r--ipsilon/providers/openid/extensions/cla.py2
-rw-r--r--ipsilon/providers/saml2/auth.py15
2 files changed, 5 insertions, 12 deletions
diff --git a/ipsilon/providers/openid/extensions/cla.py b/ipsilon/providers/openid/extensions/cla.py
index e260f1d..830e3a3 100644
--- a/ipsilon/providers/openid/extensions/cla.py
+++ b/ipsilon/providers/openid/extensions/cla.py
@@ -19,7 +19,7 @@ class OpenidExtension(OpenidExtensionBase):
self.debug(req)
if req is None:
return {}
- data = userdata['extras'].get('cla', [])
+ data = userdata['_extras'].get('cla', [])
return cla.CLAResponse.extractResponse(req, data)
def _display(self, request, userdata):
diff --git a/ipsilon/providers/saml2/auth.py b/ipsilon/providers/saml2/auth.py
index 44ed834..a65b52a 100644
--- a/ipsilon/providers/saml2/auth.py
+++ b/ipsilon/providers/saml2/auth.py
@@ -210,20 +210,13 @@ class AuthenticateRequest(ProviderPageBase):
if not attrstat.attribute:
attrstat.attribute = ()
- attributes = dict()
- userattrs = us.get_user_attrs()
- for key, value in userattrs.get('userdata', {}).iteritems():
- if type(value) is str:
- attributes[key] = value
- if 'groups' in userattrs:
- attributes['group'] = userattrs['groups']
- for _, info in userattrs.get('extras', {}).iteritems():
- for key, value in info.items():
- attributes[key] = value
+ attributes = us.get_user_attrs()
for key in attributes:
values = attributes[key]
- if type(values) is not list:
+ if isinstance(values, dict):
+ continue
+ if not isinstance(values, list):
values = [values]
for value in values:
attr = lasso.Saml2Attribute()