diff options
| author | Roland Hedberg <roland.hedberg@adm.umu.se> | 2012-11-14 17:34:24 +0100 |
|---|---|---|
| committer | Roland Hedberg <roland.hedberg@adm.umu.se> | 2012-11-14 17:34:24 +0100 |
| commit | 3db08b124e9346b1869962fb366df7bd33b9ba4b (patch) | |
| tree | e56892773cc1f5dced307914789546aa50a27577 /src/saml2/server.py | |
| parent | 74cf8659e15223d14586b99265a71924e3f939f9 (diff) | |
| download | pysaml2-3db08b124e9346b1869962fb366df7bd33b9ba4b.tar.gz | |
Take 2
Diffstat (limited to 'src/saml2/server.py')
| -rw-r--r-- | src/saml2/server.py | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/src/saml2/server.py b/src/saml2/server.py index 739588dc..448095a0 100644 --- a/src/saml2/server.py +++ b/src/saml2/server.py @@ -110,22 +110,18 @@ class Identifier(object): return temp_id - def _get_vo_identifier(self, sp_name_qualifier, userid, identity): + def _get_vo_identifier(self, sp_name_qualifier, identity): try: - vo_conf = self.voconf[sp_name_qualifier] - if "common_identifier" in vo_conf: - try: - subj_id = identity[vo_conf["common_identifier"]] - except KeyError: - raise MissingValue("Common identifier") - else: - return self.persistent_nameid(sp_name_qualifier, userid) + vo = self.voconf[sp_name_qualifier] + try: + subj_id = identity[vo.common_identifier] + except KeyError: + raise MissingValue("Common identifier") except (KeyError, TypeError): raise UnknownVO("%s" % sp_name_qualifier) - try: - nameid_format = vo_conf["nameid_format"] - except KeyError: + nameid_format = vo.nameid_format + if not nameid_format: nameid_format = saml.NAMEID_FORMAT_PERSISTENT return saml.NameID(format=nameid_format, @@ -189,9 +185,9 @@ class Identifier(object): if name_id_policy and name_id_policy.sp_name_qualifier: try: return self._get_vo_identifier(name_id_policy.sp_name_qualifier, - userid, identity) - except Exception: - pass + identity) + except Exception, exc: + print >> sys.stderr, "%s:%s" % (exc.__class__.__name__, exc) if sp_nid: nameid_format = sp_nid[0] |
