I believe your issue is at the SP so you might want to ask further
questions on the shibboleth-users mailing list (but read on :).
> 2011-03-03 17:44:47 WARN Shibboleth.AttributeFilter [25]: removed value at
> position (0) of attribute (eppn) from
> (https://foo.bar/simplesaml/saml2/idp/metadata.php)
> 2011-03-03 17:44:47 WARN Shibboleth.AttributeFilter [25]: no values left,
> removing attribute (eppn) from
> (https://foo.bar/simplesaml/saml2/idp/metadata.php)
It seems ePPN values are being filtered at the SP.
> 20 => array(
> 'class' => 'core:AttributeAdd',
> 'urn:oid:1.3.6.1.4.1.5923.1.1.1.6' => 'f...@bar.com',
> ),
>
> [A word about the core:AttributeAdd - my LDAP directory doesn't have
> eduPersonPrincipalName, but I'm aiming to map another attribute to it
> eventually. Thought I would keep things simple by using a static string
> value to begin with :-]
That's okay, I guess, but do you have scope "bar.com" in the IdP's
metadata? If not, the SP will surely filter ePPN (since it will assume
the IdP is not authorized to assert scoped attributes with that
scope).
> When I Googled around the subject I found a few people saying that
> "xs:string" is the wrong type for scoped attributes like
> eduPersonPrincipalName, and that this should be "SAML2ScopedString" instead.
No, I don't think so. Keep it as a simple string.
Tom
That's okay, I guess, but do you have scope "bar.com" in the IdP'smetadata? If not, the SP will surely filter ePPN (since it will assume
the IdP is not authorized to assert scoped attributes with that
scope).
Scope is one of those deep dark secrets of the universe so I'm not surprised ;-)
This works fine for a plain vanilla IdP, but what about an IdP Proxy
for which the value of scoped attributes is not known in advance? In
that case, there is usually no static set of scopes that will work, so
the only recourse it seems is to work with SP partners to relax their
filter policy.
Tom