diff options
Diffstat (limited to 'ipsilon/providers/saml2/provider.py')
-rw-r--r-- | ipsilon/providers/saml2/provider.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/ipsilon/providers/saml2/provider.py b/ipsilon/providers/saml2/provider.py index c02d6fb..7e1c6c0 100644 --- a/ipsilon/providers/saml2/provider.py +++ b/ipsilon/providers/saml2/provider.py @@ -18,6 +18,7 @@ from ipsilon.providers.common import ProviderException from ipsilon.tools.saml2metadata import SAML2_NAMEID_MAP from ipsilon.util.log import Log +import json import lasso @@ -100,6 +101,19 @@ class ServiceProvider(Log): def default_nameid(self, value): self._staging['default nameid'] = value + # NGK(TODO) - the default needs to be the global policy, then override here. + # This hard-coded mapping will need to be removed at that time. + @property + def attribute_mappings(self): + if 'attribute mappings' in self._properties: + return json.loads(self._properties['attribute mappings']) + else: + return [['*', '*'],] + + @attribute_mappings.setter + def attribute_mappings(self, value): + self._staging['attribute mappings'] = json.dumps(value) + def save_properties(self): data = self.cfg.get_data(name='id', value=self.provider_id) if len(data) != 1: |