From 1cd36aa44b498fc713135751c9602afd31ad6fd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Oudot?= Date: Sun, 27 Jan 2013 15:28:39 +0000 Subject: [PATCH] Fix transient NameID for SAML Issuer (#561) --- .../lib/Lemonldap/NG/Portal/IssuerDBSAML.pm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/IssuerDBSAML.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/IssuerDBSAML.pm index 187efae11..733f7a0ab 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/IssuerDBSAML.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/IssuerDBSAML.pm @@ -1429,6 +1429,14 @@ sub issuerForAuthUser { $nameIDContent = $self->getMetaDataURL( "samlEntityID", 0, 1 ); } + # Manage Transient NameID format + if ( $nameIDFormat eq $self->getNameIDFormat("transient") ) { + eval { + my @assert = $login->response->Assertion; + $nameIDContent = $assert[0]->Subject->NameID->content; + }; + } + if ( $login->nameIdentifier ) { $login->nameIdentifier->Format($nameIDFormat); $login->nameIdentifier->content($nameIDContent)