Skip to content

Commit df563ef

Browse files
new: FilterAttributeValues: pass context and target_provider through _apply_requester_filters and _apply_filters
... for use by specific filters
1 parent 1b58acd commit df563ef

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/satosa/micro_services/attribute_modifications.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,24 +30,24 @@ def __init__(self, config, *args, **kwargs):
3030
def process(self, context, data):
3131
# apply default filters
3232
provider_filters = self.attribute_filters.get("", {})
33-
self._apply_requester_filters(data.attributes, provider_filters, data.requester)
33+
target_provider = data.auth_info.issuer
34+
self._apply_requester_filters(data.attributes, provider_filters, data.requester, context, target_provider)
3435

3536
# apply target provider specific filters
36-
target_provider = data.auth_info.issuer
3737
provider_filters = self.attribute_filters.get(target_provider, {})
38-
self._apply_requester_filters(data.attributes, provider_filters, data.requester)
38+
self._apply_requester_filters(data.attributes, provider_filters, data.requester, context, target_provider)
3939
return super().process(context, data)
4040

41-
def _apply_requester_filters(self, attributes, provider_filters, requester):
41+
def _apply_requester_filters(self, attributes, provider_filters, requester, context, target_provider):
4242
# apply default requester filters
4343
default_requester_filters = provider_filters.get("", {})
44-
self._apply_filters(attributes, default_requester_filters)
44+
self._apply_filters(attributes, default_requester_filters, context, target_provider)
4545

4646
# apply requester specific filters
4747
requester_filters = provider_filters.get(requester, {})
48-
self._apply_filters(attributes, requester_filters)
48+
self._apply_filters(attributes, requester_filters, context, target_provider)
4949

50-
def _apply_filters(self, attributes, attribute_filters):
50+
def _apply_filters(self, attributes, attribute_filters, context, target_provider):
5151
for attribute_name, attribute_filters in attribute_filters.items():
5252
if type(attribute_filters) == str:
5353
# convert simple notation to filter list

0 commit comments

Comments
 (0)