summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFredrik Thulin <fredrik@thulin.net>2019-05-08 16:37:43 +0200
committerFredrik Thulin <fredrik@thulin.net>2019-05-08 16:37:43 +0200
commit161a5cbd4bc15a8d6481a95d4271ddfb214233f5 (patch)
tree540b8ca00e7fc9f18dc14c394112bcdfb0c91ac5
parent6f65014dfb7c4ba4cb9edd6e7f0c16889e2d0e60 (diff)
downloadpysaml2-161a5cbd4bc15a8d6481a95d4271ddfb214233f5.tar.gz
Look for existing persistent id's before creating new ones.
-rw-r--r--src/saml2/ident.py11
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)