Skip to content

Commit 161a5cb

Browse files
committed
Look for existing persistent id's before creating new ones.
1 parent 6f65014 commit 161a5cb

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/saml2/ident.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,14 @@ def remove_local(self, sid):
155155
pass
156156

157157
def get_nameid(self, userid, nformat, sp_name_qualifier, name_qualifier):
158+
if nformat == NAMEID_FORMAT_PERSISTENT:
159+
nameid = self.match_local_id(userid, sp_name_qualifier,
160+
name_qualifier)
161+
if nameid:
162+
logger.debug("Found existing persistent NameId %s "
163+
"for user %s" % (nameid, userid))
164+
return nameid
165+
158166
_id = self.create_id(nformat, name_qualifier, sp_name_qualifier)
159167

160168
if nformat == NAMEID_FORMAT_EMAILADDRESS:
@@ -163,9 +171,6 @@ def get_nameid(self, userid, nformat, sp_name_qualifier, name_qualifier):
163171

164172
_id = "%s@%s" % (_id, self.domain)
165173

166-
# if nformat == NAMEID_FORMAT_PERSISTENT:
167-
# _id = userid
168-
169174
nameid = NameID(format=nformat, sp_name_qualifier=sp_name_qualifier,
170175
name_qualifier=name_qualifier, text=_id)
171176

0 commit comments

Comments
 (0)