From: Rob Crittenden Date: Mon, 23 Mar 2015 17:57:12 +0000 (-0400) Subject: Implement urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified X-Git-Tag: v0.5.0~8 X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=commitdiff_plain;h=704452cfa38a1d880fab920dab25f670f4fbc519 Implement urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified Return the name the user authenticated with. https://fedorahosted.org/ipsilon/ticket/27 Signed-off-by: Rob Crittenden Reviewed-by: Simo Sorce --- diff --git a/ipsilon/providers/saml2/auth.py b/ipsilon/providers/saml2/auth.py index 4bfbc1a..d895f43 100644 --- a/ipsilon/providers/saml2/auth.py +++ b/ipsilon/providers/saml2/auth.py @@ -202,6 +202,8 @@ class AuthenticateRequest(ProviderPageBase): nameid = us.get_user().email if not nameid: nameid = '%s@%s' % (user.name, self.cfg.default_email_domain) + elif nameidfmt == lasso.SAML2_NAME_IDENTIFIER_FORMAT_UNSPECIFIED: + nameid = provider.normalize_username(user.name) if nameid: login.assertion.subject.nameId.format = nameidfmt diff --git a/ipsilon/providers/saml2/provider.py b/ipsilon/providers/saml2/provider.py index c02d6fb..4439a0d 100644 --- a/ipsilon/providers/saml2/provider.py +++ b/ipsilon/providers/saml2/provider.py @@ -116,8 +116,6 @@ class ServiceProvider(Log): self._debug('Requested NameId [%s]' % (nip.format,)) if nip.format is None: return SAML2_NAMEID_MAP[self.default_nameid] - elif nip.format == lasso.SAML2_NAME_IDENTIFIER_FORMAT_UNSPECIFIED: - return SAML2_NAMEID_MAP[self.default_nameid] else: allowed = self.allowed_nameids self._debug('Allowed NameIds %s' % (repr(allowed)))