persitentID nameID for specific SPs, transient for default
Jehan Procaccia
jehan.procaccia at tem-tsp.eu
Fri Dec 15 15:41:16 EST 2017
Le 15/12/2017 à 00:37, Cantor, Scott a écrit :
> On 12/14/17, 6:05 PM, "users on behalf of Jehan Procaccia" <users-bounces at shibboleth.net on behalf of jehan.procaccia at tem-tsp.eu> wrote:
>
>> which one ? probably
>> https://wiki.shibboleth.net/confluence/display/IDP30/PersistentNameIDGenerationConfiguration
>> can you confirm ?
> That is the only documentation there is, yes.
>
OK, then I followed that doc, configured my IDP keeping the default
Transient nameID and added shibboleth.SAML2PersistentGenerator in
saml-nameid.xml
<util:list id="shibboleth.SAML2NameIDGenerators">
<ref bean="shibboleth.SAML2TransientGenerator" />
<!-- Uncommenting this bean requires configuration in
saml-nameid.properties. -->
* <ref bean="shibboleth.SAML2PersistentGenerator" />*
</util:list>
and in saml-nameid.properties I uncommented as recommended for
computedID without DB
# For computed IDs, set a source attribute and a secret salt:
idp.persistentId.sourceAttribute = eduPersonPrincipalName
idp.persistentId.useUnfilteredAttributes = true
# Do *NOT* share the salt with other people, it's like divulging your
private key.
idp.persistentId.algorithm = SHA
idp.persistentId.salt = secret
but still accessing
https://monitor.eduroam.org/sp/module.php/saml/sp/saml2-acs.php/default-sp
with those metadata requesting an eduPersonTargetedID and a persistent nameID-format
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:*nameid-format:persistent<*/md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>
<md:RequestedAttribute Name="urn:oid:*1.3.6.1.4.1.5923.1.1.1.10*" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true"/>
doesn't work .
How can I check (local to IDP) that I do generate a persitendID ?
as suggested previously by Peter, aacli does show me attributes , but it
doesn't show me nameIDs , is there another tool ?
[root at idpr3 shibboleth-idp]# ./bin/*aacli.sh
*--requester=https://monitor.eduroam.org/sp/module.php/saml/sp/metadata.php/default-sp
--configDir=conf/ --principal=procaccia *--saml2*
**
/<?xml version="1.0" encoding="UTF-8"?>//
//<saml2:Assertion ID="_54ee1b2ba156f6c80ec2154ca23c7528"//
// IssueInstant="2017-12-15T19:57:45.542Z" Version="2.0"
xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">//
//<saml2:Issuer>https://idp3.tem-tsp.eu/idp/shibboleth</saml2:Issuer>//
// <saml2:AttributeStatement>//
// <saml2:Attribute FriendlyName="uid"//
// Name="urn:oid:0.9.2342.19200300.100.1.1"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">//
// <saml2:AttributeValue//
//xmlns:xsd="http://www.w3.org/2001/XMLSchema"//
//xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xsd:string">procaccia</saml2:AttributeValue>//
// </saml2:Attribute>//
// <saml2:Attribute FriendlyName="mail"//
// Name="urn:oid:0.9.2342.19200300.100.1.3"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">//
// <saml2:AttributeValue//
//xmlns:xsd="http://www.w3.org/2001/XMLSchema"//
//xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xsd:string">jehan.procaccia at tem-tsp.eu</saml2:AttributeValue>//
// </saml2:Attribute>//
// <saml2:Attribute FriendlyName="eduPersonPrincipalName"//
// Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">//
// <saml2:AttributeValue//
//xmlns:xsd="http://www.w3.org/2001/XMLSchema"//
//xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xsd:string">procaccia at tem-tsp.eu</saml2:AttributeValue>//
// </saml2:Attribute>//
// </saml2:AttributeStatement>//
//</saml2:Assertion>/
I keep using DEBUG in my IDP , I copy below ligns containing NameID
keyword :
/2017-12-15 20:59:33,646 - DEBUG
[org.opensaml.saml.saml2.profile.impl.AddNameIDToSubjects:286] - Profile
Action AddNameIDToSubjects: Attempting to add NameID to outgoing
Assertion Subjects//
//2017-12-15 20:59:33,646 - DEBUG
[org.opensaml.saml.common.profile.logic.AbstractNameIDPolicyPredicate:139]
- No object to operate on, returning true//
//2017-12-15 20:59:33,647 - DEBUG
[org.opensaml.saml.common.profile.logic.MetadataNameIdentifierFormatStrategy:82]
- Metadata specifies the following formats:
[urn:oasis:names:tc:SAML:2.0:nameid-format:persistent,
urn:oasis:names:tc:SAML:2.0:nameid-format:transient]//
//2017-12-15 20:59:33,647 - DEBUG
[net.shibboleth.idp.saml.profile.logic.DefaultNameIdentifierFormatStrategy:100]
- Configuration specifies the following formats: []//
//2017-12-15 20:59:33,647 - DEBUG
[net.shibboleth.idp.saml.profile.logic.DefaultNameIdentifierFormatStrategy:113]
- Configuration did not specify any formats, relying on metadata alone//
//2017-12-15 20:59:33,647 - DEBUG
[org.opensaml.saml.saml2.profile.impl.AddNameIDToSubjects:323] - Profile
Action AddNameIDToSubjects:*Candidate NameID formats:
[urn:oasis:names:tc:SAML:2.0:nameid-format:persistent,
urn:oasis:names:tc:SAML:2.0:nameid-format:transient]*//
//2017-12-15 20:59:33,647 - DEBUG
[org.opensaml.saml.saml2.profile.impl.AddNameIDToSubjects:396] - Profile
Action AddNameIDToSubjects: *Trying to generate NameID with Format
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent*//
//2017-12-15 20:59:33,648 - *ERROR
*[org.opensaml.saml.saml2.profile.impl.AddNameIDToSubjects:404] -
Profile Action AddNameIDToSubjects: *Error while generating NameID*//
//org.opensaml.saml.common.SAMLException: Invalid
NameIdentifierGenerationService configuration//
// at
net.shibboleth.idp.saml.nameid.impl.ProxySAML2NameIDGenerator.generate(ProxySAML2NameIDGenerator.java:62)//
//
/
Although PersistendID seems to be generated here at lign "/2017-12-15
20:59:33,647"/, if fails with an error.
what is wrong in my settings ?
If I finally succeed in creating an persistent nameID within
saml-nameid.xml and in .properties without error, do I need later on to
construct the eduPersonTargetedID and how to "map" it to the Persistent
NameID juste created for the session ?
for storeID I found sample at
https://services.renater.fr/federation/docs/installation/idp3/chap11#creer_un_attribut_persistentidedupersontargetedid
<!-- Targeted ID/Persistent ID -->
<resolver:AttributeDefinition id="eduPersonTargetedID"
xsi:type="ad:SAML2NameID" sourceAttributeID="persistentID"
nameIdFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">
<resolver:Dependency ref="myStoredId" />
<resolver:DisplayName xml:lang="en">Targeted ID</resolver:DisplayName>
<resolver:DisplayDescription xml:lang="en">Targeted ID: A unique
identifier for a person, different for each service
provider.</resolver:DisplayDescription>
<resolver:AttributeEncoder xsi:type="enc:SAML1XMLObject"
name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" />
<resolver:AttributeEncoder xsi:type="enc:SAML2XMLObject"
name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10"
friendlyName="eduPersonTargetedID" />
</resolver:AttributeDefinition>
<resolver:DataConnector id="myStoredId"
xsi:type="dc:StoredId"
generatedAttributeID="persistentID"
sourceAttributeID="eduPersonPrincipalName"
salt="%{idp.persistentId.salt}"
queryTimeout="0">
<resolver:Dependency ref="%{idp.persistentId.sourceAttribute}" />
<dc:BeanManagedConnection>shibboleth.MysqlDataSource</dc:BeanManagedConnection>
</resolver:DataConnector>
but here the
<resolver:Dependency ref="myStoredId" />
should be replace with what ? some kind of "myComputedId" !?
thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/users/attachments/20171215/f30c0616/attachment-0001.html>
More information about the users
mailing list