transient vs persistent custom nameids

brabec at ncsu.edu brabec at ncsu.edu
Wed Jan 27 14:00:05 EST 2016


We have a 3rd Party SP doing some kind of SAML2. They expect us to
return the SAML NameID as urn:oasis:names:tc:SAML:2.0:nameid-
format:transient with the value = our numeric campus id. This has been
setup and working for us in V2 for a while now.

In V3 saml-nameid.xml, I can do this:

  <bean parent="shibboleth.SAML2AttributeSourcedGenerator"
      p:format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
      p:attributeSourceIds="#{ {'CampusId'} }">
    <property name="activationCondition">
      <bean parent="shibboleth.Conditions.RelyingPartyId" 
        c:candidates="#{{
          'SPentityID'
        }}" />
    </property>
  </bean>

When I do, I see what looks like the automatic transient 
handler kicks in and writes something like this:

<saml2:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">MIMEDATAHERE=</saml2:NameID>

The SP accepts this, but sends me off to an account not found page.

I can also change the same block to 
    p:format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"

And the custom handler works as expected, returning:

<saml2:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">012345678</saml2:NameID>

But the SP refuses the message, because it is coded to look for 
Format="...:transient".

Is there a bean / attribute I can add to the above to tell the generator
to treat this is a persistent, but label it transient without using the
transient generator in its place?

Charles

-- 
All electronic mail messages in connection with State business which are
sent to or received by this account are subject to the NC Public Records Law
and may be disclosed to third parties.


More information about the users mailing list