diff options
author | Fredrik Thulin <fredrik@thulin.net> | 2019-05-08 16:37:43 +0200 |
---|---|---|
committer | Fredrik Thulin <fredrik@thulin.net> | 2019-05-08 16:37:43 +0200 |
commit | 161a5cbd4bc15a8d6481a95d4271ddfb214233f5 (patch) | |
tree | 540b8ca00e7fc9f18dc14c394112bcdfb0c91ac5 | |
parent | 6f65014dfb7c4ba4cb9edd6e7f0c16889e2d0e60 (diff) | |
download | pysaml2-161a5cbd4bc15a8d6481a95d4271ddfb214233f5.tar.gz |
Look for existing persistent id's before creating new ones.
-rw-r--r-- | src/saml2/ident.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/saml2/ident.py b/src/saml2/ident.py index db8365bc..f24c0390 100644 --- a/src/saml2/ident.py +++ b/src/saml2/ident.py @@ -155,6 +155,14 @@ class IdentDB(object): pass def get_nameid(self, userid, nformat, sp_name_qualifier, name_qualifier): + if nformat == NAMEID_FORMAT_PERSISTENT: + nameid = self.match_local_id(userid, sp_name_qualifier, + name_qualifier) + if nameid: + logger.debug("Found existing persistent NameId %s " + "for user %s" % (nameid, userid)) + return nameid + _id = self.create_id(nformat, name_qualifier, sp_name_qualifier) if nformat == NAMEID_FORMAT_EMAILADDRESS: @@ -163,9 +171,6 @@ class IdentDB(object): _id = "%s@%s" % (_id, self.domain) - # if nformat == NAMEID_FORMAT_PERSISTENT: - # _id = userid - nameid = NameID(format=nformat, sp_name_qualifier=sp_name_qualifier, name_qualifier=name_qualifier, text=_id) |