diff options
Diffstat (limited to 'ipsilon/providers')
-rw-r--r-- | ipsilon/providers/openid/extensions/cla.py | 2 | ||||
-rw-r--r-- | ipsilon/providers/saml2/auth.py | 15 |
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() |