<div dir="ltr">As usual, apologies ahead of time. I really am reading the docs and putting in effort, however, understanding this particular realm still comes to me very slowly...<div><br></div><div>I inherited a few Shibboleth IdPs. In this case, I'm configuring IdP3, the defaults may have been tweaked so examples don't always play the same for me.</div><div><br></div><div>I want to send and see a transient nameId value (which I called "principal3") in my SAML response. I have to code this in as the default behaviors on this IdP have been tweaked long ago.</div><div><br></div><div>I have tried the following config. I do see the creation of the transient nameid but ultimately it isn't hitting the SAML response. The SP is my own for testing so I can tweak that as needed.</div><div><br></div><div><div>attribute-resolver.xml</div><div><br></div><div>    <AttributeDefinition id="principal3" xsi:type="TransientId"></div><div>                 <AttributeEncoder xsi:type="SAML1StringNameIdentifier" nameFormat="urn:mace:shibboleth:1.0:nameIdentifier" /></div><div>                 <AttributeEncoder xsi:type="SAML2StringNameID" name="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" /></div><div>    </AttributeDefinition></div><div><br></div><div>attribute-filter.xml</div><div><br></div><div>    <AttributeFilterPolicy id="ReleaseToFooblitzky"></div><div>        <PolicyRequirementRule xsi:type="Requester" value="<a href="https://fooblitzky.com/shibboleth">https://fooblitzky.com/shibboleth</a>" /></div><div><br></div><div>        <AttributeRule attributeID="principal3"></div><div>            <PermitValueRule xsi:type="ANY" /></div><div>        </AttributeRule></div><div><br></div><div>        <AttributeRule attributeID="gid"></div><div>            <PermitValueRule xsi:type="ANY" /></div><div>        </AttributeRule></div><div><br></div><div>        <AttributeRule attributeID="uid"></div><div>            <PermitValueRule xsi:type="ANY" /></div><div>        </AttributeRule></div><div><br></div><div>    </AttributeFilterPolicy></div><div><br></div><div><span style="white-space:pre">    </span></div><div><span style="white-space:pre">      </span></div><div>2018-08-16 14:52:56,514 - DEBUG [net.shibboleth.idp.saml.attribute.resolver.impl.TransientIdAttributeDefinition:95] - Attribute Definition 'principal3': creating new transient ID '_c26acf29c3e543ed425b398f235ddcc3'</div><div>2018-08-16 14:52:56,514 - DEBUG [net.shibboleth.idp.attribute.resolver.AbstractAttributeDefinition:247] - Attribute Definition 'principal3': produced an attribute with the following values [StringAttributeValue{value=_c26acf29c3e543ed425b398f235ddcc3}]</div><div>2018-08-16 14:52:56,697 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:473] - Attribute Resolver 'ShibbolethAttributeResolver': De-duping attribute definition principal3 result</div><div>2018-08-16 14:52:56,698 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:485] - Attribute Resolver 'ShibbolethAttributeResolver': Attribute 'principal3' has 1 values after post-processing</div><div>2018-08-16 14:52:56,766 - DEBUG [net.shibboleth.idp.attribute.filter.impl.AttributeFilterImpl:189] - Attribute filtering engine 'ShibbolethAttributeFilter': 1 values for attribute 'principal3' remained after filtering</div><div>2018-08-16 14:52:56,907 - DEBUG [net.shibboleth.idp.saml.saml2.profile.impl.AddAttributeStatementToAssertion:173] - Profile Action AddAttributeStatementToAssertion: Attempting to encode attribute principal3 as a SAML 2 Attribute</div><div>2018-08-16 14:52:56,908 - DEBUG [net.shibboleth.idp.saml.saml2.profile.impl.AddAttributeStatementToAssertion:203] - Profile Action AddAttributeStatementToAssertion: Attribute principal3 did not have a usable SAML 2 Attribute encoder associated with it, nothing to do</div><div><br></div><div>I understand the last debug line provided is the "answer" but I'm trying to understand how to get past that part. :-) What should I be looking for next?</div></div><div><br></div><div>... Before hitting send on this, I dug a bit further. I tried a few things in saml-nameid.xml. Adding the following "worked" in that it sent the generated value as NameId... but this isn't truly transient format?</div><div><br></div><div><div><br></div><div>saml-nameid.xml</div><div><br></div><div>Under:  <util:list id="shibboleth.SAML2NameIDGenerators"></div><div>        <bean parent="shibboleth.SAML2AttributeSourcedGenerator"</div><div>            p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"</div><div>            p:attributeSourceIds="#{ {'principal3'} }" /></div></div><div><br></div><div><br></div><div>SAML response...</div><div><div>    <saml2:Subject></div><div>        <saml2:NameID</div><div>            Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"</div></div><div><div>            NameQualifier="<a href="https://mysecretsitehere/idp/shibboleth">https://mysecretsitehere/idp/shibboleth</a>" SPNameQualifier="<a href="https://fooblitzky.com/shibboleth">https://fooblitzky.com/shibboleth</a>">_b87556eb7cabe3d9bc12d1143b7e63ff</saml2:NameID></div></div><div>     ...</div><div><br></div><div><br></div><div>The above actually passed along my transient value in NameId, but should it be "unspecified"? I tried the following formats as well, but then I ended up back with the "nothing to do" again in debug...</div><div><div>            p:format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"</div><div>            p:format="urn:mace:shibboleth:1.0:nameIdentifier"</div></div><div><br></div><div>So close. Where am I shooting myself in the foot?</div><div><br></div><div><br></div><div>Thanks,</div><div>Norm</div><div><br></div><div><br></div><div><br></div></div>