summaryrefslogtreecommitdiff
path: root/src/saml2/assertion.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/saml2/assertion.py')
-rw-r--r--src/saml2/assertion.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/saml2/assertion.py b/src/saml2/assertion.py
index 64944d11..0db4b723 100644
--- a/src/saml2/assertion.py
+++ b/src/saml2/assertion.py
@@ -78,19 +78,22 @@ def filter_on_attributes(ava, required=None, optional=None, acs=None,
"""
def _match_attr_name(attr, ava):
- try:
- friendly_name = attr["friendly_name"]
- except KeyError:
- friendly_name = get_local_name(acs, attr["name"],
- attr["name_format"])
+
+ local_name = get_local_name(acs, attr["name"], attr["name_format"])
+ if not local_name:
+ try:
+ local_name = attr["friendly_name"]
+ except KeyError:
+ pass
- _fn = _match(friendly_name, ava)
+ _fn = _match(local_name, ava)
if not _fn: # In the unlikely case that someone has provided us with
# URIs as attribute names
_fn = _match(attr["name"], ava)
return _fn
+
def _apply_attr_value_restrictions(attr, res, must=False):
try:
values = [av["text"] for av in attr["attribute_value"]]
@@ -105,7 +108,6 @@ def filter_on_attributes(ava, required=None, optional=None, acs=None,
return _filter_values(ava[_fn], values, must)
res = {}
-
if required is None:
required = []